前言:开始是针对ios移动端开发,最近人工智能比较火,所以来研究下Google的TensorFlow框架。我是小白一枚,有什么写的有点菜的地方还请多多指教,现在我将要把我研究的步骤一步步写下来,希望以后有志同道合的朋友或者跟我一样是小白的朋友研究这个框架时少走弯路。
一.基于mac安装TensorFlow框架
1.在OS X系统上,先安装homebrew,然后执行 brew install python,以便能够使用homebrew中的Python安装TensorFlow。
1.)安装homebrew:https://brew.sh/
终端输入命令行:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装过程中需要输入密码,密码为你电脑的密码。
2.)安装 python
终端输入命令行:
brew install python
3.)安装TensorFlow:
pip2 install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl
4.)测试终端输入:
Python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(30)
>>> print sess.run(a+b)
40
上面是我自己的测试结果。
二.官网写的例子
下载安装完成后,在preferences找到Project Interpreter,将tensorflow添加进去。
导入之后import tensorflow as tf 就不会报错了
下面是我按照文档写的代码,研究下具体的流程
import tensorflow as tf
import numpy as np
# 使用 NumPy 生成假数据(phony data), 总共 100 个点.
x_data = np.float32(np.random.rand(2,100))
y_data = np.dot([0.100,0.200],x_data) + 0.300
# 构造一个线性模型
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b
# 最小化方差
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# 初始化变量
init = tf.initialize_all_variables()
# 启动图 (graph)
sess = tf.Session()
sess.run(init)
# 拟合平面
for step in xrange(0, 201):
sess.run(train)
if step % 20 == 0:
print step, sess.run(W), sess.run(b)
结果如下图所示
经过许多次演变之后得到最佳拟合结果,图上最后一行 W: [[0.100 0.200]], b: [0.300]
目前还在理解中,有更新会更在上面。