炼丹实战(1):丹炉的使用

前言

最近嘛,准备开始炼丹,虽然我的博客没什么人看,但是我还是打算把一些过程记录下来,假使以后不炼丹,忘了,也能很快回忆起来。所以,新坑就这么开起来吧~~~ 另外,机器学习的学习笔记,emmm,不打算继续写了(也许以后有时间会简要地写一下后面的内容吧,也说不定)

所谓「炼丹」嘛,就是训练 AI 模型。每次训练都要调整几个参数,然后等上短则半个小时,长则几天几夜,然后训练出一个准确率并不一定能达到期望的模型。就像炼丹一样,不断调整药材的配比,放丹炉里炼上个七七四十九天,结果出来一炉废丹一样。简直一模一样嘛!我有感觉:我如果有朝一日成为一名合格的炼丹师,那么我的耐心一定会锻炼的很好 QAQ

“工欲善其事必先利其器”,要成为一名合格的炼丹师,除非你是天赋异禀的炼丹奇才,能丹火化鼎,在空中结丹,不然还是要选择一个好的丹炉要紧。所谓好的丹炉嘛,当然要质量上乘,生产厂家得是知名大厂;其次,最好能足够聪明,我把丹方输进去,它能自动炼丹,就像《校花的贴身高手》里面的那个高科技自动炼丹炉一样(话说这个小说为什么现在都还在更新啊~)。因此,我推荐知名大厂——谷歌——出品的丹炉:TensorFlow。质量过硬,炼丹过程足够智能,是居家旅行的必备之选。

TensorFlow

那么接下来就来认识一下 TensorFlow 吧!

安装

TensorFlow 是一个 Python 的包,因此直接用 pip 安装就行了。当然个人推荐用 anaconda 创建虚拟环境安装。

TensorFlow 有 CPU 和 GPU 两个版本,可以按照需要选择安装,当然,GPU 的运算能力确实强悍,2080Ti 买起来啊!毕竟强大的光追,炼丹之余,还可以玩玩《地铁》对吧。

1
2
pip install tensorflow  # cpu version
pip install tensorflow-gpu # gpu version

另外,似乎忘了说 TensorFlow 的官网了,国内也可以直接连得上呢。

语法

TensorFlow 是 Python 的一个库,自然语法和 Python 是一样的,然而 TensorFlow 有着比较与众不同的逻辑,接下来,我们就看看 TensorFlow 程序由哪些部分构成的吧!

  • Tensor : 张量,可以简理解为数据,TensorFlow 就是数据流动
  • Graphs : 图,TensorFlow 使用图来表示计算任务,就像 boss 交给你的一份任务清单,上面写满了你要做的事
  • Session : 会话,图需要在会话里启动,就像公司的员工,拿到任务清单就要开始干活
  • Operation : 操作,图中的节点,执行计算,接收并产生 Tensor,也就是任务清单上的每一项单独的任务

还有一些如变量、常量的东西,feed、fetch 之类的操作,我认为不算是 TensorFlow 程序的组成结构,在此就不说了,后面遇到可以搜一下,结合代码理解。

第一个程序

不管是学什么,对于一个程序员来说,”Hello World” 这么神圣的东西,是一定要写一遍的。那么就直接上代码吧,可以成功输出的,就算是安装好了。

1
2
3
4
5
import tensorflow as tf
hello = tf.constant("Hello, World!")
sess = tf.Session()
print sess.run(hello)
sess.close()

稍微解释一下吧:

  1. TensorFlow 使用constant()方法创建常量
  2. 使用 Session() 方法创建会话,同时会创建一个默认图,之前说过的,Session 像一个员工,进入公司时自带了一份任务清单,使用 run() 方法让他来执行任务(Session 会按图索骥,执行完当前任务所需要的全部前置任务,当然了,本例的 Session 只有一个任务:创建一个常量了)
0%