Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么tensorflow中Conv的反向传播分为两种操作? 我尝试用C++和CUDA实现TysFooad中的自定义卷积运算,并且我发现,在TracSoFoad中的VARD2D的反向传播是通过实实在在地实现的,我发现有两种操作实现,即在TysFoSoW源代码中,这意味着分别计算滤波器和输入的梯度。我想问一下,这一实施背后的想法是什么?为什么它们不是简单地合并为一个操作?_Tensorflow - Fatal编程技术网

为什么tensorflow中Conv的反向传播分为两种操作? 我尝试用C++和CUDA实现TysFooad中的自定义卷积运算,并且我发现,在TracSoFoad中的VARD2D的反向传播是通过实实在在地实现的,我发现有两种操作实现,即在TysFoSoW源代码中,这意味着分别计算滤波器和输入的梯度。我想问一下,这一实施背后的想法是什么?为什么它们不是简单地合并为一个操作?

为什么tensorflow中Conv的反向传播分为两种操作? 我尝试用C++和CUDA实现TysFooad中的自定义卷积运算,并且我发现,在TracSoFoad中的VARD2D的反向传播是通过实实在在地实现的,我发现有两种操作实现,即在TysFoSoW源代码中,这意味着分别计算滤波器和输入的梯度。我想问一下,这一实施背后的想法是什么?为什么它们不是简单地合并为一个操作?,tensorflow,Tensorflow,好吧,我做了一个测试,发现如果将不同输入的反向传播分解成不同的TF操作,与打包成一个TF操作相比,速度提高了约30%。这与直觉相反,可能与TF的架构有关。注:我的测试基于CUDA im2col/col2im,使用CuBLAS而不是CuDNN

好吧,我做了一个测试,发现如果将不同输入的反向传播分解成不同的TF操作,与打包成一个TF操作相比,速度提高了约30%。这与直觉相反,可能与TF的架构有关。注:我的测试基于CUDA im2col/col2im,使用CuBLAS而不是CuDNN