CNTK v2.4 版本資訊

這版的重點

  • 已移至 CUDA9、cuDNN 7 和 Visual Studio 2017。
  • 已移除 Python 3.4 支援。
  • 已新增Volta GPU 和 FP16 支援。
  • 更好的 ONNX 支援。
  • CPU 效能改善。
  • 其他 OP。

老年 退休金 計畫

  • top_k operation:在正向中,它會計算上方 (最大) k 值,以及沿著指定座標軸的對應索引。 在向後傳遞中,漸層會散佈到頂端 k 元素, (不在頂端 k 中的元素取得零漸層) 。
  • gather 作業現在支援座標軸引數
  • squeezeexpand_dims 作業,可輕鬆地移除和新增單一軸
  • zeros_likeones_like 作業。 在許多情況下,您可以只依賴CNTK正確地廣播簡單的 0 或 1,但有時您需要實際的張量。
  • depth_to_space:將輸入張量中的元素從深度維度重新排列為空間區塊。 此作業的一般用法是針對某些影像超解析度模型實作子圖元卷積。
  • space_to_depth:將輸入張量中的元素從空間維度重新排列至深度維度。 它主要是 DepthToSpace 的反轉。
  • sum operation:建立新的函式實例,以計算輸入張量的專案總和。
  • softsign operation:建立新的函式實例,以計算輸入張量的專案虛線。
  • asinh operation:建立新的函式實例,以計算輸入 Tensor 的專案方式。
  • log_softmax 作業:建立新的函式實例,以計算輸入張量的 logsoftmax 正規化值。
  • hard_sigmoid operation:建立新的函式實例,以計算輸入張量hard_sigmoid正規化值。
  • element_andelement_notelement_orelement_xor 元素的邏輯作業
  • reduce_l1 作業:計算輸入張量專案沿著所提供座標軸的 L1 標準。
  • reduce_l2 operation:計算輸入 tensor 元素沿著所提供座標軸的 L2 標準。
  • reduce_sum_square operation:計算輸入 tensor 元素沿著所提供座標軸的總和平方。
  • image_scaler 作業:藉由調整影像的個別值來改變影像。

ONNX

  • CNTK中對 ONNX 支援進行了數個改善。
  • 更新
    • 已更新 ONNX Reshape op 來處理 InferredDimension
    • 將 和 producer_version 欄位新增 producer_name 至 ONNX 模型。
    • 在 ONNX Conv op 中未 auto_pad 指定或 pads atrribute 時處理案例。
  • 錯誤修正
    • 已修正 ONNX Pooling op 序列化中的 Bug
    • 修正錯誤以建立只有一個批次座標軸的 ONNX InputVariable
    • ONNX Transpose op 實作的錯誤修正和更新,以符合更新的規格。
    • ONNX ConvConvTranspose 和 作業實作的錯誤修正和 Pooling 更新,以符合更新的規格。

運算子

  • 群組卷積
    • 已修正群組卷積中的 Bug。 CNTK Convolution 作業的輸出將會變更群組 > 1。 下一個版本預期會更優化的群組卷積實作。
    • 針對圖層中的 Convolution 群組卷積進行更好的錯誤報表。

Halide 二元卷積

  • CNTK組建現在可以使用選用的 Halide程式庫來建 Cntk.BinaryConvolution.so/dll 置可與模組搭配使用的連結 netopt 庫。 程式庫包含優化的二進位卷積運算子,其效能優於以 Python 為基礎的二進位卷積運算子。 若要在組建中啟用 Halide,請先下載 Halide 版本 並設定 HALIDE_PATH 環境 varibale,再開始建置。 在 Linux 中,您可以使用 ./configure --with-halide[=directory] 來啟用它。 如需如何使用這項功能的詳細資訊,請參閱 How_to_use_network_optimization