Для части встроенного проекта я обучил сеть в Tensorflow, и теперь я перезагружаю переменные в скрипте модели на основе Numpy / Scipy.Тем не менее, мне неясно, как повторить извилистые шаги с имеющимися у меня весами.
Я посмотрел по этой ссылке: Разница между сверткой Tensorflow и сверткой numpy , но у меня нет 'Это связано с проблемой, когда веса являются четырехмерными.
Это мой код Tensorflow:
# input shape: (1, 224, 224, 1)
weight1 = tf.Variable([3,3,1,16],stddev)
conv1 = tf.nn.conv2d(input,w,[1,1,1,1])
# conv1 shape: (1, 224, 224, 16)
weight2 = tf.Variable([3,3,16,32],stddev)
conv2 = tf.nn.conv2d(conv2,w,[1,1,1,1])
# conv2 shape: (1, 224, 224, 32)
И когда я пытаюсь использовать функции свертки из библиотек Scipy или Numpy,выходные размеры неверны:
from scipy.ndimage.filters import convolve
conv1 = convolve(input, weight1[::-1])
# conv1 shape: (1, 224, 224, 1)
conv2 = convolve(conv1, weight2[::-1])
# conv2 shape: (1, 224, 224, 16)