Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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

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
Python Caffe卷积和Tensorflow输出之间差异不大的原因是什么?_Python_Tensorflow_Caffe - Fatal编程技术网

Python Caffe卷积和Tensorflow输出之间差异不大的原因是什么?

Python Caffe卷积和Tensorflow输出之间差异不大的原因是什么?,python,tensorflow,caffe,Python,Tensorflow,Caffe,我有Tensorflow网络,并以Caffe格式进行了移植。Caffe和TF中的所有权重和算法都是正确的,我检查了几次 但当我运行这两个框架并逐层比较它们的输出时,小的差异开始显现 例如,如果Caffe中某一点处的批次标准化结果为0.940091,则同一点处的TF为0.939559,因此差异为0.0005319999999769。非常小,但在我们所处的网络中,它被放大得更深,最终的值是非常不同的。 对于卷积也存在差异(-2.7540846 Caffe-2.7540843 TF),但在第一次批量标

我有Tensorflow网络,并以Caffe格式进行了移植。Caffe和TF中的所有权重和算法都是正确的,我检查了几次

但当我运行这两个框架并逐层比较它们的输出时,小的差异开始显现

例如,如果Caffe中某一点处的
批次标准化结果为
0.940091
,则同一点处的TF为
0.939559
,因此差异为
0.0005319999999769
。非常小,但在我们所处的网络中,它被放大得更深,最终的值是非常不同的。 对于
卷积
也存在差异(
-2.7540846 Caffe
-2.7540843 TF
),但在第一次
批量标准化后,差异变得更加明显

我想这可能是某种
FP16、FP32、FP64
之间的内部差异和强制转换。不知道TF如何处理从Python图形到C++图形的转换。p>
可能有人遇到了相同的问题?

这可能是由于“浮点”数字不准确,请参阅此Caffe和Tensorflow在批处理规范层的实现上存在一些差异。Caffe将其划分为一个标准化层,然后是一个缩放和偏置层。另一个可能的问题可能是,Caffe希望输入形状首先是通道[CxHxW],而Tensorflow在默认情况下需要[HxWxC](请参阅“数据格式”参数)