如何使用 Estimators 优化 TensorFlow 模型?
与泰坦尼克号数据集关联的模型可以在添加特定列后进行优化以获得更好的性能。添加列、训练并评估模型后,模型将得到简单的优化,从而提高性能。
阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 一起创建神经网络?
我们将使用 Keras Sequential API,它有助于构建一个顺序模型,用于处理简单的层堆栈,其中每一层只有一个输入张量和一个输出张量。
包含至少一层卷积层的神经网络称为卷积神经网络。我们可以使用卷积神经网络来构建学习模型。
我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,无需任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 建立在 Jupyter Notebook 之上。
Estimator 是 TensorFlow 中对完整模型的高级表示。它旨在易于扩展和异步训练。Estimator 使用特征列来描述模型如何解释原始输入特征。Estimator 期望一个数值输入向量,特征列将有助于描述模型应该如何转换数据集中每个特征。
示例
print("The model is optmised to make predictions on a dataset") pred_dicts = list(linear_est.predict(eval_input_fn)) probs = pd.Series([pred['probabilities'][1] for pred in pred_dicts]) print("The data is plotted") probs.plot(kind='hist', bins=20, title='predicted probabilities')
代码来源 −https://tensorflowcn.cn/tutorials/estimator/linear
输出
The model is optmised to make predictions on a dataset INFO:tensorflow:Calling model_fn. WARNING:tensorflow:Layer linear/linear_model is casting an input tensor from dtype float64 to the layer's dtype of float32, which is new behavior in TensorFlow 2. The layer has dtype float32 because its dtype defaults to floatx. If you intended to run this layer in float32, you can safely ignore this warning. If in doubt, this warning is likely only an issue if you are porting a TensorFlow 1.X model to TensorFlow 2. To change all layers to have dtype float64 by default, call `tf.keras.backend.set_floatx('float64')`. To change just this layer, pass dtype='float64' to the layer constructor. If you are the author of this layer, you can disable autocasting by passing autocast=False to the base Layer constructor. INFO:tensorflow:Done calling model_fn. INFO:tensorflow:Graph was finalized. INFO:tensorflow:Restoring parameters from /tmp/tmpg17o3o7e/model.ckpt-200 INFO:tensorflow:Running local_init_op. INFO:tensorflow:Done running local_init_op. <matplotlib.axes._subplots.AxesSubplot at 0x7f8e2c1dd358> The data is plotted
解释
达到了 77.6% 的准确率,这比基本特征训练的更好。
可以应用更多特征和转换,看看模型的表现是否更好。
该模型经过训练,可以对评估集中的一名乘客进行预测。
TensorFlow 模型经过优化,可以一次对批次或多个示例进行预测。
广告