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,下面显示[在4.5秒内完成]https://www.youtube.com/watch?v=aBIGJeHRZLQ.
我的模型只运行250行吗?为什么?
250是经过训练的批次数250*16=4000
显示的数据不是行。它是处理的批次数。在model.fit中,您确实将批量大小指定为16。因此,对于4000行,4000/16=250,这是在一个历元中处理批次大小为16的所有4000行所需的步骤数