【发布时间】:2020-06-26 13:29:40
【问题描述】:
当我想在 tf 中训练我的模型时,tf 似乎没有得到正确的值(cf screen)。
我希望有 21759 而不是 680
自从我更改操作系统(fedora 30 xfce -> fedora 32 gnome)后它就出现了,而在其他笔记本电脑上则没有这个问题。
我正在使用 Tf 2.2。
我的数据集是由 tshark 创建的 somes csv 创建的:A screen of my DS
这是我的几行代码:
我的模特:
model = Sequential()
model.add(LSTM(9, input_shape=dataset[0].shape, activation='relu', return_sequences=True))
model.add(Dropout(0.3))
model.add(LSTM(9, input_shape=dataset[0].shape, activation='relu', return_sequences=True))
model.add(Dropout(0.3))
model.add(Dense(9, activation='relu'))
model.add(Flatten())
model.add(Dense(2, activation='softmax'))
opt = tf.keras.optimizers.Adam(lr=1e-4, decay=1e-5)
model.compile(loss='sparse_categorical_crossentropy',
optimizer=opt,
metrics=['accuracy'])
你有什么想法吗?
PS:这个 .PY 也会发生这种情况
import tensorflow as tf
dataset = [[1, 1],[2, 2]] * 50
label = [0, 1] * 50
print(len(dataset))
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, activation="relu", input_shape=(2,)),
tf.keras.layers.Dense(2, activation="softmax")
])
model.compile(
loss="sparse_categorical_crossentropy",
optimizer="sgd",
metrics=["accuracy"]
)
history = model.fit(dataset, label, epochs=1)
输出:
100
4/4 [==============================] - 0s 611us/step - loss: 0.6578 - accuracy: 0.5000
【问题讨论】:
-
您的数据集使用
batches吗? -
您期望什么值?你的代码在哪里?你的数据是什么?
-
我的数据集确实使用了批次@KoralpCatalsakal
-
那么,
680可能是迭代计数。在每次迭代中,模型处理batch_size个数据实例。所以 batch_size * 680 将是训练实例的总数(假设没有重叠或复制) -
嗯,我的想法是,但使用完全不同的模型和数据集我有同样的问题,使用相同的笔记本但使用另一台笔记本电脑我没有这个问题。 @KoralpCatalsakal
标签: python python-3.x tensorflow tensorflow2.0