Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 属性错误:';顺序';对象没有属性';急切地跑';_Tensorflow_Machine Learning_Keras_Python 3.7_Tensorboard - Fatal编程技术网

Tensorflow 属性错误:';顺序';对象没有属性';急切地跑';

Tensorflow 属性错误:';顺序';对象没有属性';急切地跑';,tensorflow,machine-learning,keras,python-3.7,tensorboard,Tensorflow,Machine Learning,Keras,Python 3.7,Tensorboard,我试着用这个模型在石头、纸、剪刀画上训练。然而,它接受了1800张图片的训练,准确率只有30-40%。然后我试着用TensorBoard查看发生了什么,但是标题中出现了错误 from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten from keras.layers import Conv2D, MaxPooling2D from tensorflow.python.keras.cal

我试着用这个模型在石头、纸、剪刀画上训练。然而,它接受了1800张图片的训练,准确率只有30-40%。然后我试着用TensorBoard查看发生了什么,但是标题中出现了错误

from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from tensorflow.python.keras.callbacks import TensorBoard

model = Sequential()
model.add(Conv2D(256, kernel_size=(4, 4),
            activation='relu',
            input_shape=(64,64,3)))
model.add(Conv2D(196, (4, 4), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))

model.add(Conv2D(196, (4, 4), activation='relu'))
model.add(Conv2D(196, (4, 4), activation='relu'))
model.add(Dropout(0.25))

model.add(Conv2D(128, (4, 4), activation='relu'))
model.add(Conv2D(128, (4, 4), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))

model.add(Conv2D(96, (4, 4), activation='relu'))
model.add(Conv2D(96, (4, 4), activation='relu'))
model.add(Dropout(0.25))

model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))

model.add(Dense(3, activation='softmax'))

''' here it instantiates the tensorboard '''
tensorboard = TensorBoard(log_dir="C:/Users/bamla/Desktop/RPS project/Logs")

model.compile(loss="sparse_categorical_crossentropy",
        optimizer="SGD",
        metrics=['accuracy'])

model.summary()

''' Here its fitting the model '''
model.fit(x_train, y_train, batch_size=50, epochs = 3, callbacks= 
[tensorboard])
这将产生:

Traceback (most recent call last):

File "c:/Users/bamla/Desktop/RPS project/Testing.py", line 82, in <module>
model.fit(x_train, y_train, batch_size=50, epochs = 3, callbacks= 
[tensorboard])

File "C:\Users\bamla\AppData\Local\Programs\Python\Python37\lib\site- 
packages\keras\engine\training.py", line 1178, in fit
validation_freq=validation_freq)

File "C:\Users\bamla\AppData\Local\Programs\Python\Python37\lib\site- 
 packages\keras\engine\training_arrays.py", line 125, in fit_loop
callbacks.set_model(callback_model)

 File "C:\Users\bamla\AppData\Local\Programs\Python\Python37\lib\site- 
packages\keras\callbacks.py", line 68, in set_model
callback.set_model(model)

File "C:\Users\bamla\AppData\Local\Programs\Python\Python37\lib\site- 
packages\tensorflow\python\keras\callbacks.py", line 1509, in set_model
if not model.run_eagerly:

AttributeError: 'Sequential' object has no attribute 'run_eagerly'
回溯(最近一次呼叫最后一次):
文件“c:/Users/bamla/Desktop/RPS project/Testing.py”,第82行,在
model.fit(x\u序列,y\u序列,批量大小=50,历元数=3,回调=
[tensorboard])
文件“C:\Users\bamla\AppData\Local\Programs\Python\Python37\lib\site-
包装\keras\engine\training.py“,第1178行,合适
验证频率=验证频率)
文件“C:\Users\bamla\AppData\Local\Programs\Python\Python37\lib\site-
packages\keras\engine\training\u arrays.py”,第125行,在fit\u循环中
callbacks.set\u模型(callback\u模型)
文件“C:\Users\bamla\AppData\Local\Programs\Python\Python37\lib\site-
packages\keras\callbacks.py”,第68行,在set\u模型中
callback.set_model(model)
文件“C:\Users\bamla\AppData\Local\Programs\Python\Python37\lib\site-
packages\tensorflow\python\keras\callbacks.py”,第1509行,在set\u模型中
如果不是model.run_,请急切地:
AttributeError:“Sequential”对象没有“run\u急切地”属性
此外,如果您有任何关于如何提高准确性的提示,将不胜感激

问题在于:

from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from tensorflow.python.keras.callbacks import TensorBoard

不要混合使用
keras
tf.keras
导入,它们彼此不兼容,并产生与您看到的错误相同的奇怪错误。

我从tensorflow.python.keras.callbacks导入TensorBoard更改了


从keras.callbacks导入TensorBoard
,这对我很有用

对我来说,这就完成了任务:

from tensorflow.keras import datasets, layers, models
from tensorflow import keras

似乎您正在混合从
keras
tensorflow.keras
导入的内容(最好是最后一个)

最重要的是,让所有深度学习实践者 应该将代码切换到TensorFlow 2.0和tf.keras包。 最初的keras软件包仍将接受bug修复,但正在移动 向前,你应该使用tf.keras

尝试:

import tensorflow
Conv2D = tensorflow.keras.layers.Conv2D
MaxPooling2D = tensorflow.keras.layers.MaxPooling2D
Dense = tensorflow.keras.layers.Dense
Flatten = tensorflow.keras.layers.Flatten
Dropout = tensorflow.keras.layers.Dropout
TensorBoard = tensorflow.keras.callbacks.TensorBoard
model = tensorflow.keras.Sequential()

可能的重复?那么在这个用例中我应该使用keras还是tf.keras?@BT这取决于您。从keras使用
。回调从导入TensorBoard