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 axelargument
  • squeeze och expand_dims åtgärder för att enkelt ta bort och lägga till singleton-axlar
  • zeros_like och ones_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ärder
  • reduce_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 hantera InferredDimension.
    • Lägga till producer_name fält och producer_version i ONNX-modeller.
    • Hantering av ärendet när varken auto_pad eller pads atrribute anges i ONNX Conv op.
  • 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, ConvTransposeoch Pooling åtgärder som matchar den uppdaterade specifikationen.

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.

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 anger HALIDE_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.