1. TensorFlow特殊的张量计算引擎使得TensorFlow能够很好的满足机器学习的计算需要,从2015年开始发起
  2. 本书基于TensorFlow0.12+和python3.0+
  3. 环境安装要求
    1. pip install -r requirements.txt
  4. TensorFlow计算的一般流程
    1. 生成或者导入数据generate or import data
      1. 所有的机器学习算法都需要数据,在这里我们可以自己生成数据或者使用外部数据,有的时候可以更好地依赖于生成的数据,因为我们想知道期望的结果,有的时候我们会选择使用公开的数据集。
    2. 转换或者是正则化数据 transform  or normalize data
      1. 有的时候数据并不是TensorFlow能够接受的期望的形式,比如说数据的维度不对或者是数据的类型不对,所以我们必须要在使用之前对数据进行转换处理,大部分的算法需要对数据进行正则化处理,TensorFlow提供了可以正则化处理数据的功能
        1. data=tf.nn.batch_norm_with_global_normalization(...)
    3. 设置算法的参数set algorithm parameters
      1. 我们的算法通常在整个处理过程当中都需要参数,比如说:迭代次数,学习率或则我们选择的其他的固定参数,我们应该以一种良好的形式去初始化那些所有的参数,以便方便我们能够方便用户可以很好的使用它们。
        1. learning_rate=0.01  iterations=10000
    4. 初始化变量和占位符initialize variables and placeholders
      1. tensorflow依赖于用户告诉它们如何进行更改,TensorFlow会在优化过程当中不断的更新变量以减小损失函数,为了做到这些,所以我们需要给占位符喂数据,我们需要初始化所有的那些变量和参数,给以适当的数据类型type和大小size,所以使TensorFlow知道接下来应该怎么做,
        1. a_var=tf.constant(42)
        2. x_input=tf.placeholder(tf.float32,[None,input_size])
        3. y_input=tf.placeholder(tf.float32,[None,num_class])
    5. 定义模型结构Define Model Structure
      1. 当我们有了数据,初始化了所有的变量和占位符,接下来我们就应该定义模型结构了,通过构建一个计算图computational graph,我们告诉TensorFlow应该在变量和参数上面执行什么操作以便能够达到我们期望的目的,接下来就计算图将会进行更多的讨论
        1. y_pred=tf.add(tf.mul(x_input,weights_matrix),b_matrix)
    6. 定义损失函数declare loss  functions
      1. 定义了模型结构之后,我们开始计算输出,这就是我们为什么定义了损失函数,损失函数的重要之处在于能够告诉我们预期值距离实际值的距离,更多不同的期望函数在接下来会有介绍
        1. loss=tf.reduce_mean(tf.square(y_actual-y_pred))
    7. 初始化并且开始训练模型initialize and train model
      1. 现在我们已经具备了一切,然后开始创建一个实例或者我们的计算图通过给计算图喂入数据,然后让TensorFlow更好的能够改变变量和进行预测我们的训练数据,下面是初始化计算图的一种方式
        1. with tf,Session(graph=graph)  as session:
          1. session.run()
      2. 我们可以使用另外一种方式
        1. session=tf.Session(graph=graph) session.run(....)
    8. (可选)评估模型 Evaluate the model
      1. 当我们构建训练完我们的模型之后,我们通过使用新的数据按照一些特定标准来评估我们的模型
    9. (可选)预测新的结果
  5. 总结Summary
    1. 总体来说,在TensorFlow当中可以设计为如下的循环结构
        1. 通过占位符喂入数据,
        2. 估算计算图的输出
        3. 通过损失函数计算期望结果
        4. 使用反向自动求导更新模型变量
        5. 重复以上过程直到满足某一个特定的标准
  6. (完)

附件列表

最新文章

  1. Oracle 权限(grant、revoke)
  2. 免费的ER 设计软件调研
  3. 如何在JBoss WildFly 8 自定义log4j日志
  4. Python Thread
  5. 实现DataGridView实时更新数据
  6. python编辑器对比和推荐
  7. jQuery 如何写插件 - 第一步
  8. cocos2d-x在win32和iOS、android下获取当前系统时间的方法
  9. oracle 删除重复记录
  10. 【java】抽象类和接口区别
  11. 详细的ifcfg-eth0配置详解
  12. Ubuntu18.04提示wifi无法连接
  13. wireshark系列之wireshark过滤器
  14. 利用signapk.jar工具对apk文件进行签名
  15. 使用TS+Sequelize实现更简洁的CRUD
  16. mysql更改数据文件目录及my.ini位置
  17. 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 A题 Weather Patterns
  18. Linux系统在启动过程中mbr主引导程序被破坏的解决方案
  19. javaScript总结51: 变量查找规则与词法作用域
  20. 算法笔记_100:蓝桥杯练习 算法提高 三个整数的排序(Java)

热门文章

  1. javascript 循环读取数组中的值
  2. Linux安装MATLAB2016a
  3. Java-类的生命周期浅析
  4. layui之laydate
  5. 8.1.1 IO
  6. zabbix4.2安装配置指南
  7. java is 和 == ,以及equal
  8. vuex中怎么直接获取state中的值,以及computed的使用注意
  9. 吴裕雄 python 机器学习——半监督学习LabelSpreading模型
  10. Opencv模块