Как изменить уровень данных как для изображений, так и для изображений истинной земли, выполняя при этом расширение для сегментации? - PullRequest
0 голосов
/ 08 мая 2018

Я делаю дополнения для выполнения задачи сегментации с caffe. Python Layer, который я написал, вызывает ошибку. Определение слоя выглядит следующим образом:

layer {
    name: 'myaug'
    type: 'Python'
    bottom: 'data'
    bottom: 'label'
    top: 'data'
    top: 'label'
    python_param {
        module: 'augLayer'
        layer: 'CompactData'
    }
}

это чистый рисунок: Чистый рисунок

Ошибка, похоже, связана с numpy:

File "/home/usersc/caffe/python/caffe/pycaffe.py", line 11, in <module>
    import numpy as np
File "/home/usersc/anaconda2/envs/mycaffe/lib/python2.7/site-packages/numpy/__init__.py", line 142, in <module>
    from . import add_newdocs
  File "/home/usersc/anaconda2/envs/mycaffe/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/home/usersc/anaconda2/envs/mycaffe/lib/python2.7/site-packages/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/home/usersc/anaconda2/envs/mycaffe/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/home/usersc/anaconda2/envs/mycaffe/lib/python2.7/site-packages/numpy/core/__init__.py", line 22, in <module>
    from . import _internal  # for freeze programs
  File "/home/usersc/anaconda2/envs/mycaffe/lib/python2.7/site-packages/numpy/core/_internal.py", line 14, in <module>
    import ctypes
  File "/home/usersc/anaconda2/envs/mycaffe/lib/python2.7/ctypes/__init__.py", line 7, in <module>
    from _ctypes import Union, Structure, Array
ImportError: /home/usersc/anaconda2/envs/mycaffe/lib/python2.7/lib-dynload/_ctypes.so: undefined symbol: _PySlice_Unpack

Я не уверен, думаю, мне следует добавить слой MemoryData, чтобы сохранить для меня расширенные данные, как в по этой ссылке , поскольку данные и метки должны передаваться синхронно. Это как * Data Layer память должна быть очищена?

1 Ответ

0 голосов
/ 08 мая 2018

У вас проблема с импортом numpy: это не имеет никакого отношения к вашему коду / слою, ваш код еще даже не запускался.
Убедитесь, что numpy правильно установлен на вашем компьютере и что ваша окружающая среда $PYTHONPATH указывает на правильные места.

Что касается памяти: то, как вы определили свой слой, он выполняет дополнения "на месте" , то есть вместо BLOB-объектов data и label вместо копий расширенных входов , Убедитесь, что вы в порядке с таким поведением. Кроме того, я не думаю, что вам нужен слой "MemoryData" для выполнения аугментаций, достаточно слоя "Python".

...