我希望构建一个能够评估字符串的Keras模型。如果我按照以下步骤操作:
它向我抛出了下一个“ValueError”异常:
如果我使用
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(units=10, input_shape=(10,), activation='softmax'))
它运行良好。我可以看到model.summary()
。
但是,当我使用ast.literal_eval()
添加层时。
from keras.models import Sequential
from keras.layers import Dense
import ast
model = Sequential()
code = "model.add( Dense( input_shape=(10,), units=10, activation='softmax' ) )"
ast.literal_eval(code)
它向我抛出了下一个“ValueError”异常:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.5/ast.py", line 84, in literal_eval
return _convert(node_or_string)
File "/usr/lib/python3.5/ast.py", line 83, in _convert
raise ValueError('malformed node or string: ' + repr(node))
ValueError: malformed node or string: <_ast.Call object at 0x7efc40c90e10>
如果我使用
eval
而不是ast.literal_eval
也可以工作。 我正在使用Python3.5。