2017-02-08 23 views
0

ImportError: Нет модуль с именем kaffe.tensorflowОшибка преобразования модели из Caffe в Tensorflow

Попытка преобразовать модель из Caffe в Tensorflow с caffe-tensorflow преобразователя.

С помощью этой команды:

convert.py --caffemodel ./VGG_ILSVRC_19_layers.caffemodel --data-output-path ./TF_conv/dataOutput.npz --code-output-path ./TF_conv/codeOutput.py ./VGG_ILSVRC_19_layers_deploy.prototxt

Я получаю этот выходной код файла:

from kaffe.tensorflow import Network 

class VGG_ILSVRC_19_layers(Network): 
    def setup(self): 
     (self.feed('data') 
      .conv(3, 3, 64, 1, 1, name='conv1_1') 
      .conv(3, 3, 64, 1, 1, name='conv1_2') 
      .max_pool(2, 2, 2, 2, name='pool1') 
      .conv(3, 3, 128, 1, 1, name='conv2_1') 
      .conv(3, 3, 128, 1, 1, name='conv2_2') 
      .max_pool(2, 2, 2, 2, name='pool2') 
      .conv(3, 3, 256, 1, 1, name='conv3_1') 
      .conv(3, 3, 256, 1, 1, name='conv3_2') 
      .conv(3, 3, 256, 1, 1, name='conv3_3') 
      .conv(3, 3, 256, 1, 1, name='conv3_4') 
      .max_pool(2, 2, 2, 2, name='pool3') 
      .conv(3, 3, 512, 1, 1, name='conv4_1') 
      .conv(3, 3, 512, 1, 1, name='conv4_2') 
      .conv(3, 3, 512, 1, 1, name='conv4_3') 
      .conv(3, 3, 512, 1, 1, name='conv4_4') 
      .max_pool(2, 2, 2, 2, name='pool4') 
      .conv(3, 3, 512, 1, 1, name='conv5_1') 
      .conv(3, 3, 512, 1, 1, name='conv5_2') 
      .conv(3, 3, 512, 1, 1, name='conv5_3') 
      .conv(3, 3, 512, 1, 1, name='conv5_4') 
      .max_pool(2, 2, 2, 2, name='pool5') 
      .fc(4096, name='fc6') 
      .fc(4096, name='fc7') 
      .fc(1000, relu=False, name='fc8') 
      .softmax(name='prob')) 

С: python ./codeOutput.py Я получаю эту ошибку:

Traceback (most recent call last): 
    File "./codeOutput.py", line 1, in <module> 
    from kaffe.tensorflow import Network 
ImportError: No module named kaffe.tensorflow 

Должен ли я поставить файл codeOutput.py в каталоге, где находится модуль kaffe.tensorflow?
Нужно ли мне копировать модуль kaffe.tensorflow, где находится мой файл?
Могу ли я подключить два в некотором роде?

ответ

1

caffe-tensorflow должен находиться внутри вашего PYTHONPATH, поэтому python может найти модули. Вы можете изменить переменную среды PYTHONPATH внутри вашего .bashrc. Например:

export PYTHONPATH='/path/to/caffe-tensorflow' 

или добавить путь внутри вашего скрипта:

import sys 
sys.path.insert(0, '/path/to/caffe-tensorflow')