Предварительная обработка изображения Mimic Caffe в Tensorflow - PullRequest
1 голос
/ 30 апреля 2019

Я работаю над преобразованием caffe-Tensorflow, используя mmdnn , caffe-tenorflow проекты.

Я вижу огромное отклонение на выходе каждого слоя. У меня есть вопрос о процедуре предварительной обработки изображений между Caffe и Tensorflow. В основном хочу имитировать предварительную обработку изображения caffe в тензорном потоке. Итак, я могу оценить послойный вывод.

Этапы предварительной обработки изображения Caffe:

image = caffe.io.load_image(image_path)
transformer = caffe.io.Transformer({'data':
net.blobs['data'].data.shape})
transformer.set_transpose('data', (2,0,1))
transformer.set_channel_swap('data', (2,1,0)) # the reference model has channels in BGR order instead of RGB
transformer.set_raw_scale('data', 255.0) # the reference model operates on images in [0,255] range instead of [0,1]
image = np.asarray([transformer.preprocess('data', image)])
net.blobs['data'].data[...] = image

Здесь он считывает изображение и конвертирует RGB в формат BGR и масштабирует изображение до [0, 255] из [-1, 1].

Этапы предварительной обработки изображения Tensorflow:

image = cv2.imread(image_path)
image = cv2.resize(image, dsize=(227, 227))
# Tensorflow accepts RGB Format. So, No RGB to BGR Conversion.
image = image/255 # the reference model operates on images in [0,255] range instead of [0,1]
image = image[np.newaxis, ...] # Add one batch size

Пожалуйста, поправьте меня, если я здесь что-то не так делаю?

...