2015年11月10日谷歌发布全新人工智能系统TensorFlow并宣布开源,就一直想学习,但是苦于它一直不支持windows,所以就先搁置了。
现在有机会接触到linux的系统,就决定开始尝试学习一下。
在进入正文之前,首先先对Google TensorFlow项目所有人和将官方文档翻译为中文的大牛们致敬!
参考文献:http://wiki.jikexueyuan.com/project/tensorflow-zh/
因为服务器上已经装好tensorflow,因此就略过安装这一步。
1、认识图与常量
import tensorflow as tf
hello=tf.constant("hello,TensorFlow!")
sess=tf.Session()
print sess.run(hello)
tf.constant()相当于定义一个常量
tensorFlow 是使用图来表示计算任务的,图的节点称为OP,(Operation的简称)。tensor表示数据。
在被称之为会话(session)的上下文 (context) 中执行图。
sess=tf.Session()表示启动默认图
print sess.run(hello)是调用 sess 的 'run()' 方法来执行操作
运行结果
hello,tensorFlow!
2、常数之间的加减法、乘除法。
计算10+32的和:
import tensorflow as tf
sess=tf.Session()
a=tf.constant(10)
b=tf.constant(32)
print sess.run(a+b)
运行结果
42
减法、乘除法类似。
3、字符串运算
import tensorflow as tf
sess=tf.Session()
a=tf.constant('I love')
b=tf.constant(' china')
print sess.run(a+b)
运行结果
I love china
4、矩阵运算
计算两个矩阵的成绩
#coding=utf-8
import tensorflow as tf
# 创建一个常量 op, 产生一个 1x2 矩阵.
# 这个 op 被作为一个节点,加到默认图中.
# 构造器的返回值代表该常量 op 的返回值.
matrix1 = tf.constant([[3., 3.]])
# 创建另外一个常量 op, 产生一个 2x1 矩阵.
matrix2 = tf.constant([[2.],[2.]])
# 创建一个矩阵乘法 matmul op , 把 'matrix1' 和 'matrix2' 作为输入.
# 返回值 'product' 代表矩阵乘法的结果.
product = tf.matmul(matrix1, matrix2)
# 启动默认图.
sess = tf.Session()
# 调用 sess 的 'run()' 方法来执行矩阵乘法 op, 传入 'product' 作为该方法的参数.
# 上面提到, 'product' 代表了矩阵乘法 op 的输出, 传入它是向方法表明, 我们希望取回
# 矩阵乘法 op 的输出.
# 整个执行过程是自动化的, 会话负责传递 op 所需的全部输入. op 通常是并发执行的。
# 函数调用 'run(product)' 触发了图中三个 op (两个常量 op 和一个矩阵乘法 op) 的执行。
# 返回值 'result' 是一个 numpy `ndarray` 对象。
result = sess.run(product)
print result
# ==> <span style="font-family: Arial, Helvetica, sans-serif;">[[ 12.]]</span>
# 任务完成, 关闭会话.
sess.close()
运行结果
[[ 12.]]
因为是刚刚接触tensorflow,还不是很理解,如果有不正确的地方,请大家指正。