Keras 不对所有行建模
Keras Not Modeling All Rows
B运行d Keras、Tensorflow 和 Google Colab 的新手。我正在关注 YouTube 教程。我有一个包含 4000 行的 df,如下所示:
x y color
0 1.752690 2.846610 0.0
1 0.848488 2.127556 0.0
2 2.294166 0.801233 1.0
3 4.137304 3.082904 1.0
4 2.877251 1.915737 1.0
... ... ... ...
3995 4.138087 5.111319 0.0
3996 0.840928 1.691174 0.0
3997 2.820071 3.812626 0.0
3998 3.313544 4.869823 0.0
3999 3.877675 2.553817 1.0
这是我的代码:
import tensorflow as tf
from tensorflow import keras
import pandas as pd
import numpy as np
df=pd.read_csv('train.csv')
np.random.shuffle(df.values)
model = keras.Sequential([
keras.layers.Dense(4, input_shape=(2,), activation='relu'),
keras.layers.Dense(2, activation='sigmoid')])
model.compile(optimizer='adam',loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy'])
model.fit(df.loc[:,'x':'y'].values, df.color.values, batch_size=16)
这是输出:
250/250 [==============================] - 0s 872us/step - loss: 0.8335 - accuracy: 0.2380
<tensorflow.python.keras.callbacks.History at 0x7fed96a646a0>
我担心输出暗示它只有 运行 250 行。 youtube 视频中显示的输出有几行,底行显示 4000/4000,然后在下方显示 [Finished in 4.5s]。您可以转到 https://www.youtube.com/watch?v=aBIGJeHRZLQ 中的 29:13 查看输出。
我的模型只有 运行 250 行吗?为什么?
250 是训练的批次数 250 * 16 = 4000
显示的数据不是行。它是处理的批次数。在 model.fit 中,您确实将批量大小指定为 16。因此,对于 4000 行,4000/16=250 这是一个时期内处理批量大小为 16[=10 的所有 4000 行所需的步骤数=]
B运行d Keras、Tensorflow 和 Google Colab 的新手。我正在关注 YouTube 教程。我有一个包含 4000 行的 df,如下所示:
x y color
0 1.752690 2.846610 0.0
1 0.848488 2.127556 0.0
2 2.294166 0.801233 1.0
3 4.137304 3.082904 1.0
4 2.877251 1.915737 1.0
... ... ... ...
3995 4.138087 5.111319 0.0
3996 0.840928 1.691174 0.0
3997 2.820071 3.812626 0.0
3998 3.313544 4.869823 0.0
3999 3.877675 2.553817 1.0
这是我的代码:
import tensorflow as tf
from tensorflow import keras
import pandas as pd
import numpy as np
df=pd.read_csv('train.csv')
np.random.shuffle(df.values)
model = keras.Sequential([
keras.layers.Dense(4, input_shape=(2,), activation='relu'),
keras.layers.Dense(2, activation='sigmoid')])
model.compile(optimizer='adam',loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy'])
model.fit(df.loc[:,'x':'y'].values, df.color.values, batch_size=16)
这是输出:
250/250 [==============================] - 0s 872us/step - loss: 0.8335 - accuracy: 0.2380
<tensorflow.python.keras.callbacks.History at 0x7fed96a646a0>
我担心输出暗示它只有 运行 250 行。 youtube 视频中显示的输出有几行,底行显示 4000/4000,然后在下方显示 [Finished in 4.5s]。您可以转到 https://www.youtube.com/watch?v=aBIGJeHRZLQ 中的 29:13 查看输出。
我的模型只有 运行 250 行吗?为什么?
250 是训练的批次数 250 * 16 = 4000
显示的数据不是行。它是处理的批次数。在 model.fit 中,您确实将批量大小指定为 16。因此,对于 4000 行,4000/16=250 这是一个时期内处理批量大小为 16[=10 的所有 4000 行所需的步骤数=]