import tensorflow as tf
import numpy as np
''' tensor 的类型 '''
a=tf.constant(1) #int型
b=tf.constant(1.) #float型
c=tf.constant(2.,dtype=tf.double) #double型
d=tf.constant([False,True]) #bool型
e=tf.constant('hello world!') #string型
print(a.dtype,b.dtype,c.dtype,d.dtype,e.dtype)
''' tensor 的创建 '''
# 1、zeros,ones
f=tf.ones([3,4,5])
g=tf.zeros_like(f)
h=tf.zeros(f.shape)
# 2、from numpy list
i=tf.convert_to_tensor([1,2])
# 3、 fill
j=tf.fill([2,2],9)
# 4、random
k=tf.random.normal([2,2],mean=1,stddev=1)
l=tf.random.truncated_normal([2,2],mean=0,stddev=1) # 截断的正态分布
m=tf.random.uniform([2,2],minval=0,maxval=10)
# 5、constant 及其他
n=tf.range(4)
print(f,g,h,i,j,k,l,m,n)
''' 对tensor f 的一些操作 '''
f.ndim
tf.rank(f) # f 的维数
tf.is_tensor(f) # 判断是否为 tensor
f.dtype # 查看f的数据类型
ff=tf.cast(f,dtype=tf.double) # 转换数据类型
fff=tf.Variable(f) # 把 f包装成可训练的变量
fff.trainable
isinstance(fff,tf.Variable) # 判断是否为变量
''' tensor 和 numpy 的相互转换 '''
lala=np.arange(5)
lala1=tf.convert_to_tensor(lala)
lala1.numpy()