Что может быть причиной небольшой разницы между сверткой Caffe и выходом Tensorflow? - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть сеть Tensorflow, и я перенес ее в формате Caffe. Все веса и алгоритм в Caffe и TF верны, я проверял это несколько раз.

Но когда я запускаю обе платформы и сравниваю их вывод за слоем, начинают появляться небольшие различия.

Например, если результат BatchNormalization в одной точке в Caffe равен 0.940091, то для TF в той же точке это 0.939559, поэтому разница составляет 0.0005319999999999769. Очень маленький, но он усиливается глубже в сети, и в конечном итоге значения очень разные. Для Convolution разница также присутствует (-2.7540846 Caffe -2.7540843 TF), но она становится более заметной после первого BatchNormalization

Я полагаю, что это может быть какая-то внутренняя разница и кастинг между какими-то FP16, FP32, FP64. Понятия не имею, как TF обрабатывает преобразование из графа Python в граф C ++.

Может быть, кто-то сталкивался с такой же проблемой?

...