scipy.misc.imresize не работает в ml-движке GCP
Я пытаюсь отправить следующий фрагмент игрушки в качестве задания в GCP ml-engine:
import tensorflow as tf
import numpy as np
import scipy.misc
x = np.zeros([10, 10, 1])
y = scipy.misc.imresize(x[:, :, 0], [50, 50, 1], interp='nearest')
print(y)
print(y.shape)
После запуска задания на сервере выдается следующая ошибка:
File "/root/.local/lib/python2.7/site-packages/teste/test.py", line 6, in <module>
y = scipy.misc.imresize(x[:, :, 0], [50, 50, 1], interp='nearest')
AttributeError: 'module' object has no attribute 'imresize'
Он отлично работает на локальном компьютере, и, согласно документам Cloud-ML, пакет scipy поддерживается. По-видимому, это не проблема самого модуля, так как оператор import не выдает никакой ошибки.
1 ответ
scipy.misc.imresize
требует установки PIL, который вы, вероятно, установили локально (поскольку он работает).
Чтобы ваш код работал правильно в облаке, вы должны убедиться, что pillow
установлено. Если вы создали свой собственный setup.py
включают pillow
в списке требований. Если вам нужно создать свой собственный, создайте setup.py
как это:
from setuptools import find_packages
from setuptools import setup
REQUIRED_PACKAGES = ['pillow']
setup(
name='trainer',
version='0.1',
install_requires=REQUIRED_PACKAGES,
packages=find_packages(),
include_package_data=True,
description='My trainer application package.'
)
( источник, с одной важной модификацией, packages
атрибут)
См. Официальную документацию по CloudML Engine для получения дополнительной информации о рекомендуемой структуре каталогов и инструкциях по упаковке.
Это было устарело в 1.3.0. В отличие от использования Подушки, переустановите scipy 1.0.0
pip install scipy==1.0.0
Или же
pip3 install scipy==1.0.0