0 Replies
      Latest reply on Mar 19, 2020 3:32 AM by Hardy
      Hardy Level 1 Level 1 (0 points)

        Is it possible to use a convolution node with a data type MPSDataTypeFloat16 when training the network?

         

        In the optimizer's (Adam optimizer) method encodeToCommandBuffer:convolutionGradientState:...resultState: method I get the following error message when using MPSDataTypeFloat16:

         

        /BuildRoot/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShaders/MetalPerformanceShaders-121.4.2/MPSMatrix/LinearAlgebra/MPSMatrix.mm, line 585: error '[MPSVector initWithBuffer:length:dataType] buffer is too small (600) for vector size (1200 bytes)

         

        Yes, I have initialized the gradients with MPSDataTypeFloat16 and then the buffer size has to be 600 bytes. But it seems to be that the method assumes to get a vector of data type MPSDataTypeFloat32.