本节介绍TensorFlow中与常量相关的几个函数:
- tf.constant #常量张量
- tf.convert_to_tensor #转换成张量
- tf.range #整数等差
- tf.linspace #线性等分
- tf.random.uniform # 均匀分布
- tf.random.normal #正态分布
示范1:
代码语言:javascript复制import numpy as np
import tensorflow as tf
g = tf.Graph()
with g.as_default():
# tf.constant可以创建一个常量张量
a = tf.constant([1,2,3],dtype = tf.int32)
# tf.convert_to_tensor有类似作用
# 可以将Python列表或者numpy数组转换成常量张量
b = tf.convert_to_tensor([1,2,3], preferred_dtype =tf.float32)
with tf.Session(graph = g) as sess:
print(sess.run({'a':a,'b':b}))
输出结果如下:
示范2:
代码语言:javascript复制import tensorflow as tf
g = tf.Graph()
with g.as_default():
# tf.range 创建整数等差数列
# 使用语法为tf.range(start, limit=None, delta=1)
c = tf.range(1,12,2)
# tf.linspace 为线性等分函数,创建浮点数等差数列
# 使用语法为tf.linspace(start, stop, num)
d = tf.linspace(0.0,1.0,9)
with tf.Session(graph = g) as sess:
print(sess.run({'c':c}))
print(sess.run({'d':d}))
输出结果如下:
示范3:
代码语言:javascript复制import tensorflow as tf
g = tf.Graph()
with g.as_default():
# tf.random.uniform创建元素值均匀分布的张量
u = tf.random.uniform(shape=[3,3],minval=0,maxval=5,dtype=tf.int32)
# tf.random.normal创建元素值正态分布的张量
v = tf.random.normal(shape=[6],mean= 0.0,stddev=1.0,dtype=tf.float32)
with tf.Session(graph = g) as sess:
print('u=n',sess.run(u))
print('v=n',sess.run(v))
输出结果如下:
此外,有许多与numpy中类似的函数也可以用来创建常量张量。
例如 tf.zeros,tf.ones,tf.zeros_like,tf.diag ...