2017-02-15 42 views
0

我正在运行代码从hereKeras:chmod导致未找到keras模块

当我运行使用的代码:

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做到这一点?

编辑:

下面是工作的代码(使用python mycode.py运行)。你可以obtain the dataset here(一个csv,不是很大)。当我将shebang添加到top和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