/// <summary>3次元ベクトル2次元カーネル積</summary> public static VariableNode TrivectorKernelProduct2D(VariableNode x, VariableNode y, VariableNode q, int kwidth, int kheight, int stride, bool transpose = false) { Function function = new Functions.TrivectorConvolution.TrivectorKernelProduct2D(x.Shape, y.Shape, kwidth, kheight, stride, transpose); VariableNode w = Apply(function, x, y, q)[0]; return(w); }
/// <summary>3次元ベクトル2次元カーネル積</summary> public static Tensor TrivectorKernelProduct2D(Tensor x, Tensor y, Tensor q, int kwidth, int kheight, int stride, bool transpose = false) { Functions.TrivectorConvolution.TrivectorKernelProduct2D function = new Functions.TrivectorConvolution.TrivectorKernelProduct2D(x.Shape, y.Shape, kwidth, kheight, stride, transpose); Tensor w = new Tensor(function.OutShape); function.Execute(new Tensor[] { x, y, q }, new Tensor[] { w }); return(w); }