CNTK v2.4 Notas de lançamento

Destaques desta versão

  • Mudou-se para CUDA9, cuDNN 7 e Visual Studio 2017.
  • Removido Python suporte 3.4.
  • Adicionou o apoio de Volta GPU e FP16.
  • Melhor suporte ONNX.
  • Melhoria do PERF da CPU.
  • Mais OPs.

OPs

  • top_k funcionamento: no passe para a frente calcula os valores de topo (maiores) k e índices correspondentes ao longo do eixo especificado. Na passagem para trás o gradiente é espalhado para os elementos k superiores (um elemento não no k superior recebe um gradiente zero).
  • gather operação agora suporta um argumento de eixo
  • squeeze e expand_dims operações para facilmente remover e adicionar machados singleton
  • zeros_like e ones_like operações. Em muitas situações pode confiar apenas em CNTK a transmitir corretamente um simples 0 ou 1, mas às vezes precisa do tensor real.
  • depth_to_space: Reorganiza elementos no tensor de entrada da dimensão de profundidade em blocos espaciais. O uso típico desta operação destina-se à implementação de convolução de sub-pixels para alguns modelos de super-resolução de imagem.
  • space_to_depth: Reorganiza elementos no tensor de entrada das dimensões espaciais para a dimensão de profundidade. É em grande parte o inverso do DepthToSpace.
  • sum funcionamento: Criar uma nova instância de função que calcule a soma dos tensores de entrada.
  • softsign funcionamento: Criar uma nova instância de função que calcule o softsign em termos de elemento de um tensor de entrada.
  • asinh funcionamento: Criar uma nova instância de função que calcule o elemento-sábio de um tensor de entrada.
  • log_softmax funcionamento: Criar uma nova instância de função que calcule os valores normalizados de logsoftmax de um tensor de entrada.
  • hard_sigmoid funcionamento: Criar uma nova instância de função que calcule os valores hard_sigmoid normalizados de um tensor de entrada.
  • element_and, element_not, element_oroperações element_xor lógicas em termos de elementos
  • reduce_l1 funcionamento: Calcula a norma L1 do elemento do tensor de entrada ao longo dos eixos fornecidos.
  • reduce_l2 funcionamento: Calcula a norma L2 do elemento do tensor de entrada ao longo dos eixos fornecidos..
  • reduce_sum_square funcionamento: Calcula o quadrado de soma do elemento do tensor de entrada ao longo dos eixos fornecidos.
  • image_scaler funcionamento: Alteração da imagem escalando os seus valores individuais.

ONNX

  • Houve várias melhorias no suporte onNX em CNTK.
  • Atualizações
    • Atualização da operação ONNX Reshape para manusear InferredDimension.
    • Adicionar producer_name e producer_version campos aos modelos ONNX.
    • Lidar com o caso quando nem auto_padpads o atrribute é especificado na operação ONNX Conv .
  • Correções de erros
    • Bug fixo na serialização da op ONNX Pooling
    • Correção de erro para criar ONNX InputVariable com apenas um eixo de lote.
    • Correções de bugs e atualizações para a implementação da op ONNX Transpose para combinar especificações atualizadas.
    • Correções de bugs e atualizações para a implementação do ONNX Conv, ConvTransposee Pooling ops para combinar especificações atualizadas.

Operadores

  • Convolução de grupos
    • Bug fixo na convolução do grupo. A produção de CNTK Convolution op mudará para os grupos > 1. Espera-se uma implementação mais otimizada da convolução do grupo no próximo lançamento.
    • Melhor relatório de erro para a convolução de grupo na Convolution camada.

Convolução Binária de Halide

  • A construção CNTK pode agora usar bibliotecas Halide opcionais para construir Cntk.BinaryConvolution.so/dll biblioteca que pode ser usada com o netopt módulo. A biblioteca contém operadores binários otimizados que funcionam melhor do que os operadores de convolução binarizados baseados em python. Para ativar halide na construção, por favor descarregue halide e coloque HALIDE_PATH o ambiente varibale antes de iniciar uma construção. Em Linux, pode usá-lo ./configure --with-halide[=directory] para o ativar. Para obter mais informações sobre como utilizar esta funcionalidade, consulte How_to_use_network_optimization.