releaseopmerkingen voor CNTK v2.4

Hoogtepunten van deze release

  • Verplaatst naar CUDA9, cuDNN 7 en Visual Studio 2017.
  • Ondersteuning voor Python 3.4 is verwijderd.
  • Volta GPU en FP16-ondersteuning toegevoegd.
  • Betere ONNX-ondersteuning.
  • Cpu-prestatieverbetering.
  • Meer OP's.

Ops

  • top_k bewerking: in de forward pass berekent het de hoogste (grootste) k-waarden en bijbehorende indexen langs de opgegeven as. In de achterwaartse pass wordt de kleurovergang verspreid over de bovenste k-elementen (een element dat zich niet in de bovenste k bevindt, krijgt een nulovergang).
  • gather bewerking ondersteunt nu een asargument
  • squeeze en expand_dims bewerkingen voor het eenvoudig verwijderen en toevoegen van singletonassen
  • zeros_like en ones_like bewerkingen. In veel situaties kunt u gewoon vertrouwen op CNTK een eenvoudige 0 of 1 correct uitzenden, maar soms hebt u de werkelijke tensor nodig.
  • depth_to_space: Rangschikt elementen in de invoertenor van de dieptedimensie in ruimtelijke blokken. Typisch gebruik van deze bewerking is voor het implementeren van sub-pixelconvolution voor sommige superresolutiemodellen voor afbeeldingen.
  • space_to_depth: Rangschikt elementen in de invoertenor van de ruimtelijke dimensies naar de dieptedimensie. Het is grotendeels de inverse van DepthToSpace.
  • sum bewerking: Maak een nieuw functie-exemplaar waarmee de som van invoertenoren op basis van elementen wordt berekend.
  • softsign bewerking: Maak een nieuw functie-exemplaar waarmee het elementgewijze softsign van een invoertenor wordt berekend.
  • asinh bewerking: Maak een nieuw functie-exemplaar waarmee de elementgewijze asinh van een invoertenor wordt berekend.
  • log_softmax bewerking: Maak een nieuw functie-exemplaar waarmee de genormaliseerde logsoftmax-waarden van een invoertenor worden berekend.
  • hard_sigmoid bewerking: Maak een nieuw functie-exemplaar waarmee de hard_sigmoid genormaliseerde waarden van een invoertenor worden berekend.
  • element_and, element_not, element_orelement_xor elementgewijze logicabewerkingen
  • reduce_l1 bewerking: Berekent de L1-norm van het element van de invoertenor langs de opgegeven assen.
  • reduce_l2 bewerking: berekent de L2-norm van het element van de invoertenor langs de opgegeven assen..
  • reduce_sum_square bewerking: Berekent het som-kwadrat van het element van de invoertenor langs de opgegeven assen.
  • image_scaler bewerking: Wijziging van de afbeelding door de afzonderlijke waarden te schalen.

ONNX

  • Er zijn verschillende verbeteringen aangebracht in ONNX-ondersteuning in CNTK.
  • Updates
    • ONNX Reshape bijgewerkt om af te handelen InferredDimension.
    • Toevoegen en producer_version velden toevoegen producer_name aan ONNX-modellen.
    • Het verwerken van de case wanneer noch auto_padpads atrribute is opgegeven in ONNX Conv op.
  • Opgeloste fouten
    • Er is een fout opgelost in ONNX Pooling op serialisatie
    • Opgeloste fout bij het maken van ONNX InputVariable met slechts één batch-as.
    • Opgeloste fouten en updates voor de implementatie van ONNX Transpose op zodat deze overeenkomen met bijgewerkte specificaties.
    • Opgeloste fouten en updates voor de implementatie van ONNX ConvConvTransposeen Pooling ops die overeenkomen met bijgewerkte specificaties.

Operators

  • Groepsconvolution
    • Er is een fout opgelost in groepsconvolution. De uitvoer van CNTK Convolution wordt gewijzigd voor groepen > 1. In de volgende release wordt een meer geoptimaliseerde implementatie van groepsconvolution verwacht.
    • Betere foutrapportage voor groepsconvolution in Convolution laag.

Halide Binary Convolution

  • De CNTK build kan nu optionele Halide-bibliotheken gebruiken om bibliotheek te bouwen Cntk.BinaryConvolution.so/dll die met de netopt module kan worden gebruikt. De bibliotheek bevat geoptimaliseerde binaire convolutieoperators die beter presteren dan de op Python gebaseerde binarized convolutieoperators. Als u Halide in de build wilt inschakelen, downloadt u de Halide-release en stelt u HALIDE_PATH omgevingvariabele in voordat u een build start. In Linux kunt u deze inschakelen ./configure --with-halide[=directory] . Raadpleeg How_to_use_network_optimization voor meer informatie over het gebruik van deze functie.