我在理解构建张量流模型和预处理熊猫数据框方面遇到困难。
我一直在关注此文档: https://www.tensorflow.org/tutorials/load_data/pandas_dataframe
第一个问题:
dataset = tf.data.Dataset.from_tensor_slices((df.values, target.values))
train_dataset = dataset.shuffle(len(df)).batch(1)
def get_compiled_model():
model = tf.keras.Sequential([
tf.keras.layers.Dense(10, activation='relu'),
tf.keras.layers.Dense(10, activation='relu'),
tf.keras.layers.Dense(1)
])
由于心脏病数据帧具有13个功能,为什么文档仅以10个单位初始化第一个Dense层?为什么看起来不像这样?
def get_compiled_model():
model = tf.keras.Sequential([
tf.keras.layers.InputLayer(input_shape=(13,),
tf.keras.layers.Dense(10, activation='relu'),
tf.keras.layers.Dense(10, activation='relu'),
tf.keras.layers.Dense(1)
])
在文档中,它以10个单位的密集层开始,但是有13个功能,我不知道这是如何工作的。
最后一个问题:
我对模型进行了训练
model = get_compiled_model()
model.fit(train_dataset, epochs=15)
如何使用model.predict()对训练数据的单个或多个实例/实例进行预测?
在将实例传递到model.predict方法之前,是否必须先将其转换为张量? 即
model.predict(tensor(instance)
)
谢谢!
答案 0 :(得分:0)
创建模型有多种方法。
input_shape
自变量以进行自动构建。即使不指定输入图层,当您拟合数据时,它也会自动调整输入大小。
应该给model.predict()类似训练数据的输入。它可以是单个或多个(批次)输入。