Catatan Rilis CNTK v2.4
Sorotan dari rilis ini
- Pindah ke CUDA9, cuDNN 7 dan Visual Studio 2017.
- Menghapus dukungan Python 3.4.
- Menambahkan dukungan Volta GPU dan FP16.
- Dukungan ONNX yang lebih baik.
- Peningkatan performa CPU.
- Lebih banyak OPs.
Ops
top_k
operasi: dalam terusan, ia menghitung nilai k teratas (terbesar) dan indeks yang sesuai di sepanjang sumbu yang ditentukan. Dalam lulus mundur gradien tersebar ke elemen k atas (elemen yang tidak di atas k mendapatkan gradien nol).gather
operasi sekarang mendukung argumen sumbusqueeze
operasi untukexpand_dims
menghapus dan menambahkan sumbu singleton dengan mudahzeros_like
operasi danones_like
. Dalam banyak situasi Anda hanya dapat mengandalkan CNTK dengan benar menyiarkan 0 atau 1 sederhana tetapi kadang-kadang Anda membutuhkan tensor yang sebenarnya.depth_to_space
: Mengatur ulang elemen dalam tensor input dari dimensi kedalaman menjadi blok spasial. Penggunaan umum operasi ini adalah untuk menerapkan konvolusi sub-piksel untuk beberapa model resolusi super gambar.space_to_depth
: Mengatur ulang elemen dalam tensor input dari dimensi spasial ke dimensi kedalaman. Ini sebagian besar merupakan inversi dari DepthToSpace.sum
operasi: Buat instans Fungsi baru yang menghitung jumlah tensor input yang bijaksana elemen.softsign
operasi: Buat instans Fungsi baru yang menghitung softsign yang bijaksana elemen dari tensor input.asinh
operasi: Buat instans Fungsi baru yang menghitung asinh elemen bijaksana dari tensor input.log_softmax
operasi: Buat instans Fungsi baru yang menghitung nilai logsoftmax yang dinormalisasi dari tensor input.hard_sigmoid
operasi: Buat instans Fungsi baru yang menghitung nilai hard_sigmoid dinormalisasi dari tensor input.element_and
,element_not
,element_or
,element_xor
operasi logika element-wisereduce_l1
operasi: Menghitung norma L1 dari elemen tensor input di sepanjang sumbu yang disediakan.reduce_l2
operasi: Menghitung norma L2 dari elemen tensor input di sepanjang sumbu yang disediakan..reduce_sum_square
operasi: Menghitung kuadrat jumlah elemen tensor input di sepanjang sumbu yang disediakan.image_scaler
operasi: Perubahan gambar dengan menskalakan nilai individualnya.
ONNX
- Ada beberapa peningkatan pada dukungan ONNX di CNTK.
- Pembaruan
- Operasi ONNX
Reshape
yang diperbarui untuk menanganiInferredDimension
. producer_name
Menambahkan bidang danproducer_version
ke model ONNX.- Menangani kasus ketika tidak ada
auto_pad
atrributepads
yang ditentukan dalam OP ONNXConv
.
- Operasi ONNX
- Perbaikan bug
- Memperbaiki bug dalam serialisasi op ONNX
Pooling
- Perbaikan bug untuk membuat ONNX
InputVariable
hanya dengan satu sumbu batch. - Perbaikan bug dan pembaruan implementasi OP ONNX
Transpose
agar sesuai dengan spesifikasi yang diperbarui. - Perbaikan bug dan pembaruan untuk implementasi ONNX
Conv
,ConvTranspose
, danPooling
ops untuk mencocokkan spesifikasi yang diperbarui.
- Memperbaiki bug dalam serialisasi op ONNX
Operator
- Konvolusi grup
- Memperbaiki bug dalam konvolusi grup. Output operasi CNTK
Convolution
akan berubah untuk grup > 1. Implementasi konvolusi grup yang lebih dioptimalkan diharapkan pada rilis berikutnya. - Pelaporan kesalahan yang lebih baik untuk konvolusi grup secara berlapis
Convolution
.
- Memperbaiki bug dalam konvolusi grup. Output operasi CNTK
Konvolusi Biner Halide
- Build CNTK sekarang dapat menggunakan pustaka Halide opsional untuk membangun
Cntk.BinaryConvolution.so/dll
pustaka yang dapat digunakan dengannetopt
modul. Pustaka berisi operator konvolusi biner yang dioptimalkan yang berkinerja lebih baik daripada operator konvolusi binar berbasis python. Untuk mengaktifkan Halide di build, silakan unduh rilis Halide dan aturHALIDE_PATH
varibale lingkungan sebelum memulai build. Di Linux, Anda dapat menggunakan./configure --with-halide[=directory]
untuk mengaktifkannya. Untuk informasi selengkapnya tentang cara menggunakan fitur ini, silakan lihat How_to_use_network_optimization.