tensorflow学习(1)初步认识tensorflow

来源:互联网 发布:汇编语言与c语言的区别 编辑:程序博客网 时间:2024/06/14 08:24
最近由于科研需要,使用了一段时间的tensorflow框架,也被蹂躏了很长一段时间。最终,下定决心,将其认真的学习一遍。

一、tensorflow安装
首先保证你得先安装了python环境,如果你使用的windows环境,必须保证python是3.5.2,因为tensorflow windows版本只支持这一版本。
建议下载地址:Anaconda3下载地址
tensorflow安装命令:pip install https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

安装完成后,测试代码:
打开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(32)>>> print sess.run(a+b)

ok,安装成功!

二、初步使用

这里先不要纠结于语法,只是初步认识一下,感受tensorflow的强大。这里以一个简单的线性拟合程序,来认识tensorflow.
#coding=utf-8import tensorflow as tfimport numpy as np#生成数据(100条数据)x_data=np.float32(np.random.rand(2,100))y_data = np.dot([0.100,0.200],x_data)+0.300#标签#print(x_data,y_data)#构造线性模型(w,b学习参数)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)#梯度下降法,学习率0.5train =optimizer.minimize(loss)#初始化变量binit = tf.initialize_all_variables()#启动图sess=tf.Session()sess.run(init)#拟合平面for step in range(0,401):    sess.run(train)#梯度下降法优化参数    if step% 20==0:        print(step,sess.run(w),sess.run(b),sess.run(loss))

以上是一个简单的机器学习程序,用来线性拟合模型。

三、例子讲解

使用 TensorFlow, 你必须明白 TensorFlow:

使用图 (graph) 来表示计算任务.在被称之为 会话 (Session) 的上下文 (context) 中执行图.使用 tensor 表示数据.通过 变量 (Variable) 维护状态.使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据.
import tensorflow as tfmatrix1 = tf.constant([[3., 3.]])matrix2 = tf.constant([[2.],[2.]])product = tf.matmul(matrix1, matrix2)#在一个会话中启动图# 启动默认图.sess = tf.Session()# 调用 sess 的 'run()' 方法来执行矩阵乘法 op, 传入 'product' 作为该方法的参数.result = sess.run(product)print result# ==> [[ 12.]]# 任务完成, 关闭会话.sess.close()

可以使用以下程序,可以不用关闭程序,自动释放资源。

with tf.Session() as sess:  result = sess.run([product])  print result

以上只表示自己的理解,如果有问题欢迎各位指正与探讨。
附金蛋

原创粉丝点击