Beispiel #1
0
 /// <inheritdoc/>
 Tensor IOps.Conv3D(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, Layer.FusedActivation fusedActivation)
 {
     LogLayerSummary(X.shape + " # " + K.shape + " + (" + B.flatWidth + ")");
     var O = m_Ops.Conv3D(X, K, B, stride, pad, fusedActivation);
     LogOutputTensorSummary(O, Prefix + "Conv3D");
     return O;
 }
Beispiel #2
0
        /// <inheritdoc/>
        Tensor IOps.Conv3D(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, Layer.FusedActivation fusedActivation)
        {
            var Y = m_Ops1.Conv3D(X, K, B, stride, pad, fusedActivation);
            var Z = m_Ops2.Conv3D(X, K, B, stride, pad, fusedActivation);

            CheckSame(Y, Z, Layer.Type.Conv3D);
            return(Y);
        }
Beispiel #3
0
        /// <inheritdoc/>
        Tensor IOps.Conv3D(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, Layer.FusedActivation fusedActivation)
        {
            D.Log(X.shape + " # " + K.shape + " + (" + B.flatWidth + ")");
            var O = m_Ops.Conv3D(X, K, B, stride, pad, fusedActivation);

            O.PrintDataPart(32, Prefix + "Conv3D");
            return(O);
        }
Beispiel #4
0
        /// <inheritdoc/>
        Tensor IOps.Conv3D(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, Layer.FusedActivation fusedActivation)
        {
            var  O = m_Ops.Conv3D(X, K, B, stride, pad, fusedActivation);
            long m = (long)O.batch * (long)O.width * (long)O.height * O.depth;
            long n = (long)X.channels;
            long k = (long)K.kernelSpatialDepth * K.kernelWidth * (long)K.kernelHeight * (long)K.channels;

            m_Alu += m * n * k * 2L;
            m_Mem += (long)X.length + (long)K.length + (long)B.length + (long)O.length;
            return(O);
        }