Viktig information om CNTK v2.4
Höjdpunkter i den här versionen
- Flyttade till CUDA9, cuDNN 7 och Visual Studio 2017.
- Stöd för Python 3.4 har tagits bort.
- Stöd för Volta GPU och FP16 har lagts till.
- Bättre ONNX-stöd.
- Förbättring av CPU-prestanda.
- Fler IP-adresser.
Ops
top_k
åtgärd: i vidarebefordran beräknas de översta (största) k-värdena och motsvarande index längs den angivna axeln. I bakåtpassningen är toningen utspridd till de översta k elementen (ett element som inte är i topp k får en nolltoning).gather
åtgärden stöder nu ett axelargumentsqueeze
ochexpand_dims
åtgärder för att enkelt ta bort och lägga till singleton-axlarzeros_like
ochones_like
drift. I många situationer kan du bara förlita dig på CNTK korrekt sända en enkel 0 eller 1 men ibland behöver du den faktiska tensor.depth_to_space
: Ordnar om element i indata-tensorn från djupdimensionen till rumsliga block. Typisk användning av den här åtgärden är för att implementera delpunktsbeveckling för vissa superupplösningsmodeller för bilder.space_to_depth
: Ordnar om elementen i indata tensorn från de rumsliga dimensionerna till djupdimensionen. Det är till stor del inversen till DepthToSpace.sum
operation: Skapa en ny funktionsinstans som beräknar elementvis summa av indata-tensorer.softsign
åtgärd: Skapa en ny funktionsinstans som beräknar elementvis mjuksignering av en indata-tensor.asinh
operation: Skapa en ny funktionsinstans som beräknar elementmässigt asinh för en indata-tensor.log_softmax
åtgärd: Skapa en ny funktionsinstans som beräknar logsoftmax-normaliserade värden för en indata-tensor.hard_sigmoid
operation: Skapa en ny funktionsinstans som beräknar hard_sigmoid normaliserade värden för en indata-tensor.element_and
,element_not
,element_or
,element_xor
elementbaserade logikåtgärderreduce_l1
operation: Beräknar L1-normen för indata tensorns element längs de angivna axlarna.reduce_l2
operation: Beräknar L2-normen för indata tensorns element längs de angivna axlarna..reduce_sum_square
operation: Beräknar den totala kvadraten för indata tensorns element längs de angivna axlarna.image_scaler
operation: Ändring av bilden genom att skala dess enskilda värden.
ONNX
- Det har gjorts flera förbättringar av ONNX-stödet i CNTK.
- Uppdateringar
- ONNX
Reshape
op har uppdaterats för att hanteraInferredDimension
. - Lägga till
producer_name
fält ochproducer_version
i ONNX-modeller. - Hantering av ärendet när varken
auto_pad
ellerpads
atrribute anges i ONNXConv
op.
- ONNX
- Felkorrigeringar
- Bugg i ONNX
Pooling
op-serialisering har åtgärdats - Felkorrigering för att skapa ONNX
InputVariable
med endast en batchaxel. - Felkorrigeringar och uppdateringar av implementeringen av ONNX-åtgärder
Transpose
som matchar den uppdaterade specifikationen. - Felkorrigeringar och uppdateringar för implementering av ONNX
Conv
,ConvTranspose
ochPooling
åtgärder som matchar den uppdaterade specifikationen.
- Bugg i ONNX
Operatorer
- Gruppsammanvolution
- Bugg i gruppsammanveckling har åtgärdats. Utdata från CNTK
Convolution
op ändras för grupper > 1. Mer optimerad implementering av gruppsammansättning förväntas i nästa version. - Bättre felrapportering för gruppinveckling i
Convolution
lager.
- Bugg i gruppsammanveckling har åtgärdats. Utdata från CNTK
Halide Binary Convolution
- Den CNTK versionen kan nu använda valfria Halide-bibliotek för att skapa
Cntk.BinaryConvolution.so/dll
bibliotek som kan användas med modulennetopt
. Biblioteket innehåller optimerade operatorer för binär konvolution som presterar bättre än de Python-baserade binariserade faltningsoperatorerna. Om du vill aktivera Halide i bygget laddar du ned Halide-versionen och angerHALIDE_PATH
miljövariabeln innan du startar en version. I Linux kan du använda./configure --with-halide[=directory]
för att aktivera det. Mer information om hur du använder den här funktionen finns i How_to_use_network_optimization.