tensorflow基本操作

一、tensorflow定义变量和显示结果

#先导入模块
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

#定义变量
w = tf.Variable([2,3])
x = tf.Variable([ [1,1],
                  [2,2]]
               )
#矩阵相乘,在tensorflow模块下直接print是显示不出y的
y = tf.multiply(w,x)

#先初始化全局变量
init = tf.global_variables_initializer()

#打开一个会议
with tf.Session() as sess:
    #先运行初始化
    sess.run(init)

    print(sess.run(y))
    #或者
    print(y.eval())

二、数组操作

#tensorflow一般都非常支持float32
a = tf.zeros([3, 4],tf.float32)  

tensor = tf.Variable([[1, 2, 3], [4, 5, 6]])
b = tf.zeros_like(tensor)

c1 = tf.constant([1,2,3,4,5])
c2 = tf.constant(-1,shape = [2,3])

d = tf.linspace(2.0,6.0,3,name='linspace')

e = tf.range(2,9,3)


#打开一个模块
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(a.eval())
    print(b.eval())
    print(c1.eval())
    print(c2.eval())
    print(d.eval())
    print(e.eval())
#或者用下面这种写法,tensorflow官方推荐用上面的写法
sess = tf.Session()
print(sess.run(a))

三、生成随机数和洗牌

#生成高斯分布的随机数,mean为平均值,stddev为标准差
norm = tf.random_normal([3,3],mean=0,stddev=0.2)

#洗牌
c = tf.constant([[1,2],[2,3],[3,4]])
shuffle = tf.random_shuffle(c)

sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(norm))
print(sess.run(shuffle))

####运行结果如下:
[[ 0.26791158  0.04790247  0.0070327 ]
 [-0.10467913  0.11408339 -0.32494265]
 [ 0.16075054  0.05266313 -0.00356796]]
[[1 2]
[2 3]
[3 4]]

四、实现自加小程序

#实现自加
a = tf.Variable(0)
b = tf.add(a,tf.constant(1))
#把b的值赋给a
update = tf.assign(a,b)

sess = tf.Session()
sess.run(tf.global_variables_initializer())

print(sess.run(a))
for _ in range(4):
    sess.run(update)
    print(sess.run(a))

五、numpy类型转换为tensorflow类型

#numpy类型转化为tensorflow类型
a = np.array([[1,2],
              [3,4]
            ])
ta = tf.convert_to_tensor(a)

sess = tf.Session()
sess.run(tf.global_variables_initializer())

print(sess.run(ta))

六、定义变量的另一种方式(不指定初始值,指定该变量的类型或者骨架)

#placeholder是占位符的意思,先定义变量的骨架,后面用时再通过字典的形式喂给

a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
c = tf.multiply(a,b)

sess = tf.Session()
sess.run(tf.global_variables_initializer())

print(sess.run(c,feed_dict = {a:2,b:3}))

猜你喜欢

转载自blog.csdn.net/qq_24946843/article/details/81944421