如何使用 Python 中的 TensorFlow 实例化一个 Estimator?
可以使用 TensorFlow 中的 `DNNClassifier` 方法来实例化一个 Estimator,该方法存在于 TensorFlow 库的 `estimator` 类中。
阅读更多: 什么是 TensorFlow 以及 Keras 如何与 TensorFlow 协同工作以创建神经网络?
我们将使用 Keras 的 Sequential API,它有助于构建一个用于处理层级堆叠的顺序模型,其中每一层都只有一个输入张量和一个输出张量。
包含至少一层卷积层的神经网络被称为卷积神经网络。我们可以使用卷积神经网络来构建学习模型。
TensorFlow Text 包含与文本相关的类和操作的集合,可用于 TensorFlow 2.0。TensorFlow Text 可用于预处理序列建模。
我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器中运行 Python 代码,无需任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 建立在 Jupyter Notebook 之上。
Estimator 是 TensorFlow 对完整模型的高级表示。它旨在实现轻松扩展和异步训练。
模型使用鸢尾花数据集进行训练。
示例
print("Build a DNN that has 2 hidden layers with 30 and 10 hidden nodes each") classifier = tf.estimator.DNNClassifier( feature_columns=my_feature_columns, hidden_units=[30, 10], n_classes=3)
代码来源 −https://tensorflowcn.cn/tutorials/estimator/premade#first_things_first
输出
Build a DNN that has 2 hidden layers with 30 and 10 hidden nodes each INFO:tensorflow:Using default config. WARNING:tensorflow:Using temporary folder as model directory: /tmp/tmpdh8866zb INFO:tensorflow:Using config: {'_model_dir': '/tmp/tmpdh8866zb', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': allow_soft_placement: true graph_options { rewrite_options { meta_optimizer_iterations: ONE } } , '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_session_creation_timeout_secs': 7200, '_checkpoint_save_graph_def': True, '_service': None, '_cluster_spec': ClusterSpec({}), '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}
解释
- 鸢尾花问题被认为是一个分类问题。
- Tensorflow 带有许多预制的分类器 Estimator,包括:
- 用于执行多类分类的深度模型 `tf.estimator.DNNClassifier`。
- 用于宽而深模型的 `tf.estimator.DNNLinearCombinedClassifier`。
- 用于基于线性模型的分类器的 `tf.estimator.LinearClassifier`。
- 对于鸢尾花问题,我们使用 `tf.estimator`。
广告