TensorFlow基础

1.TensorFlow处理数据的结构

第一步要建立结构,TensorFlow

例子1,预测线性函数y=0.1x+0.3,我们要做的就是准备训练数据,定义需要训练的参数,定义函数形式,建立优化目标,循环训练并输出

import tensorflow as tf
import numpy as np
x_data = np.random.rand(100).astype(np.float32) #生成100个随机数作为x输入数据
y_data = x_data*0.1+0.3       #建立数据间关系。看看TensorFlow能否预测x和y的关系

Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))#定义参数,是1维的,范围在-1到1之间
biases=tf.Variable(tf.zeros([1])) #定义参数,是一维的,初始值为0

y=Weights* x_data+biases

loss=tf.reduce_mean(tf.square(y-y_data))  #计算误差
optimizer=tf.train.GradientDescentOptimizer(0.5)#reduce_mean取平均值
train=optimizer.minimize(loss)

init=tf.initialize_all_variables()#初始化

sess = tf.Session()
sess.run(init) #激活初始化

for step in range(201):
    sess.run(train)
    if step %20 == 0:
        print(step,sess.run(Weights),sess.run(biases))

  例2.在TensorFlow中使用Session

import tensorflow as tf
import numpy as np

matrix1 = tf.constant([[3,3]])#是一个一行两列的矩阵
matrix2 = tf.constant([[2],[2]])#是一个两行一列的矩阵
product = tf.matmul(matrix1,matrix2) #矩阵乘法

sess = tf.Session()
result = sess.run(product) #使用run()函数,才能让TensorFlow真正执行运算
print(result)
sess.close()

with tf.Session() as sess:
    result2 = sess.run(product)
    print(result2)

例3.Variable的用法

import tensorflow as tf
state = tf.Variable(0,name="counter") #0是变量初始值,name为变量名

# print(state.name)
one = tf.constant(1)

new_value = tf.add(state , one)
update = tf.assign(state,new_value) #将new_value的值赋给state

init = tf.initialize_all_variables() #初始化所有变量
with tf.Session() as sess:
    sess.run(init)
    for _ in range(3):
        sess.run(update)
        print(sess.run(state))

例4. placeholder

import tensorflow as tf

input1 = tf.placeholder(tf.int32) #placeholder需要传进去值
input2 = tf.placeholder(tf.int32)

output = tf.multiply(input1,input2)

with tf.Session() as sess:
    print(sess.run(output,feed_dict={input1:[7],input2:[2]}))

 

posted @ 2017-09-26 17:01  杨丹浩  阅读(149)  评论(0)    收藏  举报