gpt4 book ai didi

python - 属性错误 : 'Sequential' object has no attribute 'total_loss'

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:03 26 4
gpt4 key购买 nike

几天来我一直在绞尽脑汁想弄明白这个问题。我正在使用 tensorflow-gpu v1.13.1,我只能找到 2 个其他线程甚至提到类似的错误。

重现错误:

import numpy as np
import tensorflow as tf
from tensorflow import keras
def createModel():
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(5, activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(5, activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(1, activation=tf.nn.sigmoid))
model.compile(optimizer='sgd',
loss='mean_squared_error')
return model

def array_generator():
yield np.array([0.1,0.2,0.3,0.4,0.5]), np.array([1])

model=createModel()
model.fit_generator(array_generator(), epochs=5, steps_per_epoch=5)

我正在尝试制作一个神经网络来将文件分类为恶意文件或非恶意文件。原始源代码中,X_train、y_train、X_test 和 y_test 都是 numpy 数组。

import tensorflow as tf
import numpy as np
import ember
import random
X_train, y_train, X_test, y_test = ember.read_vectorized_features("C:\\Users\Cody\Desktop\synopsys\data\ember")
metadata_dataframe = ember.read_metadata("C:\\Users\Cody\Desktop\synopsys\data\ember")


#load testing set
def loadTestSet():
X_test_tf = tf.convert_to_tensor(X_test, np.float32)
y_test_tf = tf.convert_to_tensor(y_test, np.float32)
return X_test_tf, y_test_tf

#create compiled keras model
def createModel():
model = tf.keras.models.Sequential()
#ADD L2 REGULARIZATION LATER
model.add(tf.keras.layers.Dense(7351, activation=tf.nn.relu))
'''model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(4096, activation=tf.nn.relu))'''
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(4096, activation=tf.nn.relu))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(4096, activation=tf.nn.relu))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(2048, activation=tf.nn.relu))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(2048, activation=tf.nn.relu))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(2048, activation=tf.nn.relu))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(1024, activation=tf.nn.relu))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(1024, activation=tf.nn.relu))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(1024, activation=tf.nn.relu))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(1024, activation=tf.nn.relu))
model.add(tf.keras.layers.Dropout(0.2))
model.add(tf.keras.layers.Dense(1, activation=tf.nn.sigmoid))
#adam metrhod for stochastic gradient descent
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
return model

def generate_arrays(features, labels, batch_size):
batch_features=np.zeros((batch_size, 7351), dtype=np.float32)
batch_labels=np.zeros((batch_size, 1), dtype=np.float32)
while True:
for i in range(batch_size):
index=random.choice(900000,1)
batch_features=X_train[index]
batch_labels=y_train[index]
yield batch_features, batch_labels

print('creating model')
model=createModel()
print('training model')
model.fit_generator(generate_arrays(X_train, y_train, 500), epochs=10, steps_per_epoch=1800)
print('testing model')
X_test_tf, y_test_tf = loadTestSet()
model.evaluate(X_test_tf, y_test_tf)

这是我的错误:

Traceback (most recent call last): File "C:/Users/Cody/Desktop/synopsys/train.py", line 76, in model.fit_generator(generate_arrays(X_train, y_train, 500), epochs=10, steps_per_epoch=1800) File "C:\Users\Cody\AppData\Local\conda\conda\envs\emberenv\lib\site-packages\tensorflow\python\keras\engine\training.py", line 1426, in fit_generator initial_epoch=initial_epoch) File "C:\Users\Cody\AppData\Local\conda\conda\envs\emberenv\lib\site-packages\tensorflow\python\keras\engine\training_generator.py", line 125, in model_iteration model, mode, class_weight=class_weight) File "C:\Users\Cody\AppData\Local\conda\conda\envs\emberenv\lib\site-packages\tensorflow\python\keras\engine\training_generator.py", line 427, in _make_execution_function model._make_fit_function() File "C:\Users\Cody\AppData\Local\conda\conda\envs\emberenv\lib\site-packages\tensorflow\python\keras\engine\training.py", line 1926, in _make_fit_function '_fit_function', [self.total_loss] + metrics_tensors) AttributeError: 'Sequential' object has no attribute 'total_loss'

非常感谢任何帮助,我已经坚持了太久了。

最佳答案

我正在帮助一个 friend 解决类似的问题(AttributeError:“Sequential”对象没有属性“total_loss”)。经过几个小时的故障排除,我们通过将 tensorflow 升级到 2.0.0-alpha0 来解决这个问题。我们还必须做一个“pip install pillow”。

关于python - 属性错误 : 'Sequential' object has no attribute 'total_loss' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55106444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com