tensorflow学习(1)初步认识tensorflow

最近由于科研需要,使用了一段时间的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-8
import tensorflow as tf
import 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.5
train =optimizer.minimize(loss)

#初始化变量b
init = 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 tf
matrix1 = 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

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值