深度学习入门之一

**

数据类型

**
一、数值类型
scalar(单个数)、
vector[]、
matrix[[],[]]、

tensor(张量):所有维度>2 的数组统称为张量,例如shape[2,32,32,3]的张量共有4维;
在tensorflow中,为了表达方便,把标量、向量、矩阵也统称为张量,不作区分,需要根据张量的维度和形状自行判断

二、创建Tensor

#创建标量
a = tf.constant(3.0)
print(a.dtype)
print(a)
print(a.shape)
print(a.numpy())

#创建向量
b = tf.constant([1,2,3])
print(b)
print(b.dtype)
print(b.shape)
print(b.numpy())

#创建矩阵
c = tf.constant([[1,2],[2,3]])
print(c)
print(c.dtype)
print(c.shape)
print(c.numpy())

#字符串类型
e = tf.constant("hello, deep learning")
#字符串类型的工具函数有 join  、split 、 length
print(tf.strings.length(e))

#创建布尔类型
f = tf.constant([True,False])
print(f.dtype)
print(f.shape)

运行结果:以第一个为例
在这里插入图片描述

#对于数值类型的张量,可以指定精度
h1 = tf.constant(1.2364,dtype = tf.float32)
print(h1.dtype)
print(h1)
#用cast进行数据类型的转换
h2 = tf.cast(h1,tf.int32)
print(h2.dtype)
print(h2)

在这里插入图片描述

#待优化张量,对于需要计算梯度并优化的装量
t = tf.constant([-1,1,2,32])
tt = tf.Variable(t)
tt.name  #用于命名计算图中的变量
tt.trainable #m默认启用优化标志
#array或者list 转换成tensor
n = [1,2,3]
m = tf.convert_to_tensor(n)
print(m.dtype)
print(m.shape)
n = np.array([[1,2],[1,2]])

#constant 和 convert_to_tensor 作用一样
print(tf.constant(n))
print(tf.convert_to_tensor(n))

在这里插入图片描述

#创建全0、全1的张量
m = tf.zeros([2,3])#后面表示创建的张量维度
n= tf.ones([1])
print(n)
print(m)
print(tf.ones_like(m))#创建与张量m形状一样的全1张量

#创建自定义数值张量
tf.fill([3,4],45)

在这里插入图片描述

#创建已知分布的张量
#正态分布 tf.random.normal(shape,mean = 0.0, stddev = 1.0)
m = tf.random.normal((2,2),mean = 0.0, stddev = 1.0)
print(m)
#均匀分布 tf.random.uniform(shape, minval=0, maxval=None, dtype=tf.float32)可以创建采样自[𝑚𝑖𝑛𝑣𝑎𝑙, 𝑚𝑎𝑥𝑣𝑎𝑙]区间的均匀分布的张量
n = tf.random.uniform((3,2),0,4,dtype=tf.float32)
print(n)

在这里插入图片描述

#tf.range()函数实现。tf.range(limit, delta=1)可以创建[0,𝑙𝑖𝑚𝑖𝑡)之间,步长为 delta 的整形序列,不包含 limit 本身
print(tf.range(10,delta = 2))
#tf.range(start, limit, delta=1)可以创建[𝑠𝑡𝑎𝑟𝑡, 𝑙𝑖𝑚𝑖𝑡),步长为 delta 的序列,不包含 limit本身:
print(tf.range(1,4,delta = 1))

在这里插入图片描述

豆语:tensorflow 什么标量、向量、矩阵、字符串、布尔类型的数据,创建的时候,直接constant完事,nice!!

三、张量的典型应用
1、标量
就是一个简单的数字,典型用途之一是误差值的表示、各种测量指标的表示(准确度、精度、召回率等)
2、向量
偏置等
3、矩阵
输入
4、三维张量的典型应用是表示序列信号
在这里插入图片描述
5、四维张量在卷积神经网络中应用广泛,用于保存特征图数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值