Keras Tutorial Error: NameError: name 'layers' is not defined
Keras Tutorial Error: NameError: name 'layers' is not defined
我正在尝试按照 this Keras 教程进行操作,但是在使用命令 python3 test.py
:
进行编译时遇到以下错误
Traceback (most recent call last):
File "test.py", line 13, in <module>
layers.Dense(64, activation='sigmoid')
NameError: name 'layers' is not defined
我的代码如下:
import tensorflow as tf
from tensorflow import keras
model = keras.Sequential()
# Adds a densely-connected layer with 64 units to the model:
model.add(keras.layers.Dense(64, activation='relu'))
# Add another:
model.add(keras.layers.Dense(64, activation='relu'))
# Add a softmax layer with 10 output units:
model.add(keras.layers.Dense(10, activation='softmax'))
# Create a sigmoid layer:
layers.Dense(64, activation='sigmoid')
# A linear layer with L1 regularization of factor 0.01 applied to the kernel matrix:
layers.Dense(64, kernel_regularizer=keras.regularizers.l1(0.01))
# A linear layer with L2 regularization of factor 0.01 applied to the bias vector:
layers.Dense(64, bias_regularizer=keras.regularizers.l2(0.01))
# A linear layer with a kernel initialized to a random orthogonal matrix:
layers.Dense(64, kernel_initializer='orthogonal')
Python版本:3.6.6
操作系统:MacOS High Sierra
我也在命令行 (tensorflow)$
环境中完成这一切。
怎么了
首先,python 表示脚本范围内不存在名称为 layers
的对象。
但实际错误是代码是从 TensorFlow's Keras documentation 中复制出来的,但在文档中,代码的第二部分仅用于解释 model.add(...)
调用中实例化的内容.
所以删除所有以 layers
开头的代码,因为它只是一个解释。
import tensorflow as tf
from tensorflow import keras
model = keras.Sequential()
# Adds a densely-connected layer with 64 units to the model:
model.add(keras.layers.Dense(64, activation='relu'))
# Add another:
model.add(keras.layers.Dense(64, activation='relu'))
# Add a softmax layer with 10 output units:
model.add(keras.layers.Dense(10, activation='softmax'))
进一步阅读
您应该考虑在 Keras Documentation.
上学习 Keras
对我来说,使用 from tensorflow.keras import layers
导入图层就可以了。
我正在尝试按照 this Keras 教程进行操作,但是在使用命令 python3 test.py
:
Traceback (most recent call last):
File "test.py", line 13, in <module>
layers.Dense(64, activation='sigmoid')
NameError: name 'layers' is not defined
我的代码如下:
import tensorflow as tf
from tensorflow import keras
model = keras.Sequential()
# Adds a densely-connected layer with 64 units to the model:
model.add(keras.layers.Dense(64, activation='relu'))
# Add another:
model.add(keras.layers.Dense(64, activation='relu'))
# Add a softmax layer with 10 output units:
model.add(keras.layers.Dense(10, activation='softmax'))
# Create a sigmoid layer:
layers.Dense(64, activation='sigmoid')
# A linear layer with L1 regularization of factor 0.01 applied to the kernel matrix:
layers.Dense(64, kernel_regularizer=keras.regularizers.l1(0.01))
# A linear layer with L2 regularization of factor 0.01 applied to the bias vector:
layers.Dense(64, bias_regularizer=keras.regularizers.l2(0.01))
# A linear layer with a kernel initialized to a random orthogonal matrix:
layers.Dense(64, kernel_initializer='orthogonal')
Python版本:3.6.6
操作系统:MacOS High Sierra
我也在命令行 (tensorflow)$
环境中完成这一切。
怎么了
首先,python 表示脚本范围内不存在名称为 layers
的对象。
但实际错误是代码是从 TensorFlow's Keras documentation 中复制出来的,但在文档中,代码的第二部分仅用于解释 model.add(...)
调用中实例化的内容.
所以删除所有以 layers
开头的代码,因为它只是一个解释。
import tensorflow as tf
from tensorflow import keras
model = keras.Sequential()
# Adds a densely-connected layer with 64 units to the model:
model.add(keras.layers.Dense(64, activation='relu'))
# Add another:
model.add(keras.layers.Dense(64, activation='relu'))
# Add a softmax layer with 10 output units:
model.add(keras.layers.Dense(10, activation='softmax'))
进一步阅读
您应该考虑在 Keras Documentation.
上学习 Keras对我来说,使用 from tensorflow.keras import layers
导入图层就可以了。