2017-02-15 12 views
0

Я запускаю код от here.Keras: chmod results in not found keras module

Когда я запускаю код с помощью:

python mycode.py 

Он работает без проблем, производство ожидаемого результата.

Однако, когда я добавить строку в верхний:

#!/usr/bin/python 

и запустить

chmod +x mycode.py 

, а затем это:

./mycode.py 

Я получаю следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "./mycode.py", line 3, in <module> 
    from keras.models import Sequential 
ImportError: No module named keras.models 

Моя конечная цель - изменить код, чтобы принимать такие вещи, как --epochs из командной строки. Как я могу это сделать с Keras?

EDIT:

Вот код, который работает (запуск с помощью питона mycode.py). Вы можете obtain the dataset here (csv, а не огромный). Проблема возникает, когда я добавляю shebang к вершине и chmod и запускаю альтернативный путь.

from keras.models import Sequential 
from keras.layers import Dense 
import numpy 
# fix random seed for reproducibility 
seed = 7 
numpy.random.seed(seed) 
# load pima indians dataset 
dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",") 
# split into input (X) and output (Y) variables 
X = dataset[:,0:8] 
Y = dataset[:,8] 
# create model 
model = Sequential() 
model.add(Dense(12, input_dim=8, init='uniform', activation='relu')) 
model.add(Dense(8, init='uniform', activation='relu')) 
model.add(Dense(1, init='uniform', activation='sigmoid')) 
# Compile model 
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) 
# Fit the model 
model.fit(X, Y, nb_epoch=2, batch_size=10) 
# evaluate the model 
scores = model.evaluate(X, Y) 
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100)) 

ответ

0

Скорее всего, причина здесь: #!/usr/bin/python. Когда вы используете python с консоли, он может использовать другой интерпретатор python (например, вы установили его на /usr/local/bin/python). Поэтому вам нужно использовать то же самое в своем сценарии, самый простой способ - объявить его как #!/usr/bin/env python