美文网首页
01 快速了解tensorflow API

01 快速了解tensorflow API

作者: 夏威夷的芒果 | 来源:发表于2020-04-14 10:14 被阅读0次

    对于一个线性分类器,只需要使用tf中的分类器就可以实现简单的预测

    #导入包
    import tensorflow as tf
    
    # 创建线性分类器
    classifier = tf.estimator.LinearClassifier()
    
    # 用样例数据训练模型
    classifier.train(input_fn=train_input_fn, steps=2000)
    
    # 使用模型来预测
    predictions = classifier.predict(input_fn=predict_input_fn)
    

    下图显示了 TensorFlow 工具包的当前层次结构:

    图 1. TensorFlow 工具包层次结构

    下表总结了不同层的用途:

    工具包 说明
    Estimator (tf.estimator) 高级 OOP API。
    tf.layers/tf.losses/tf.metrics 用于常见模型组件的库。
    TensorFlow 低级 API

    TensorFlow 由以下两个组件组成:

    这两个组件类似于 Java 编译器和 JVM。正如 JVM 会实施在多个硬件平台(CPU 和 GPU)上一样,TensorFlow 也是如此。

    应该使用哪个 API?

    应该使用能够解决问题的最高级抽象层。较高级别的抽象层更易于使用,但(设计方面)不够灵活。建议先从最高级 API 入手,让所有组件正常运作起来。
    如果希望在某些特殊建模方面能够更加灵活一些,则可以降低一个级别。
    注意,每个级别都是使用低级 API 构建的,因此降低层次结构级别应该比较直观。

    tf.estimator API

    用 tf.estimator 来完成机器学习所做的一切都可以在较低级别(原始)的 TensorFlow 中完成,但使用 tf.estimator 会大大减少代码行数。

    tf.estimator 与 scikit-learn API 兼容。 scikit-learn 是极其热门的 Python 开放源代码机器学习库,拥有超过 10 万名用户,其中包括许多 Google 员工。

    以下是在 tf.estimator 中实现的线性回归程序的格式:

    import tensorflow as tf
    
    # Set up a linear classifier.
    classifier = tf.estimator.LinearClassifier()
    
    # Train the model on some example data.
    classifier.train(input_fn=train_input_fn, steps=2000)
    
    # Use it to predict.
    predictions = classifier.predict(input_fn=predict_input_fn)
    

    一些练习术语

    机器学习速成课程练习中的常用超参数
    很多编码练习都包含以下超参数:

    steps:训练迭代的总次数。一步计算一批样本产生的损失,然后使用该值修改一次模型的权重。
    batch size:单步的样本数量(随机选择)。例如,SGD 的批次大小为 1。
    以下公式成立:
    总共被训练的样本数 = batch size * steps

    有些练习中会出现以下方便变量:

    periods:控制报告的粒度。例如,如果 periods 设为 7 且 steps 设为 70,则练习将每 10 步输出一次损失值(即 7 次)。与超参数不同,我们不希望您修改 periods 的值。请注意,修改 periods 不会更改模型所学习的规律。

    相关文章

      网友评论

          本文标题:01 快速了解tensorflow API

          本文链接:https://www.haomeiwen.com/subject/gvaamhtx.html