tensorflow 基础操作1(tensor 基本属性 , 维度变换,数学运算)

目录

1.tensorflow 数据类型

1.1 tensor 属性,数据转换

1.2 创建tensor

1.2.1 tf.convert_to_tensor()

1.2.2 直接新建

1.2.3随机化初始化(均匀分布、正态分布)

1.2.4 直接新建tensor 小括号里各种参数形式对应的典型应用

1.3 索引

1.3.1 直接给出每个维度的索引号,多个中括号,取单一元素

 1.3.2 numpy-style indexing(推荐)

 1.3.3  start:end   带冒号返回向量

 1.3.4 冒号方式  任意维度可以省略数字

 1.3.5 start: end : step       ::step    隔着取

 1.3.6  : :-1

 1.3.7 ...省略号    省略的维度全取

1.4 切片

1.4.1 tf.gather

 1.4.2 gather  联合使用

1.4.3 多个维度

1.4.4 tf.boolean_mask

2 维度变换

2.1 reshape 改变view  只改变数据理解方式 不改变内容

 2.2 tf.transpose 转置 改变content

 2.3 增加减少维度   

2.3.1 tf.expand_dims

 2.3.2 减少维度

 2.4 Broadcasting

3 数学运算

3.1  +-*/ // %

3.2   tf.math.log        tf.exp

3.3 @   matmul   矩阵相乘

4 实战 前向传播 张量


1.tensorflow 数据类型

list 

np.array

tf.Tensor: 支持自动求导  方便深度学习(一般指rank>2 )

TF  包括的数据类型: int float double bool string

1.1 tensor 属性,数据转换

a.device 查看目标在哪个设备上(cpu/gpu)

aa=a.gpu() 把cpu上的a 转换到gpu上的aa   操作符往往根据参数自动选择

b.numpy()  把tensor b 转换成 numpy   numpy类型一定在cpu上

b.ndim   或者   tf.rank(b)          判断维度

b.shape  返回形状  

isinstance(a,tf.tensor)不推荐    or   tf.is_tensor(a)   判断数据类型是不是tensor

a.dtype==float32   判断数据类型

aa=tf.convert_to_tensor(a,dtype=tf.int32)   转换成tensor  默认64位需要手动定义成32位

tf.cast(aa,dtype=tf.float32)  tf数据转换

bb=tf.cast(b,dtype=tf.bool)

b=tf.Variable(a,name='input_data')     b.trainable    (可优化的量,自动记录梯度信息)

int(tensor)   tensor是一个标量的话 可以直接转化成numpy数据

1.2 创建tensor

1.2.1 tf.convert_to_tensor()

tf.convert_to_tensor(np.ones([2,3])) #  默认float64  [2,3]被视为data

tf.convert_to_tensor(np.zeros([2,3])) #  默认float64

tf.convert_to_tensor([1,2])# 默认int32

tf.convert_to_tensor([1,2.])# 默认float64

tf.convert_to_tensor([[1],[2.]])# 默认float32

1.2.2 直接新建

tf.zeros([1,2])  #[1,2]指shape   float32

tf.zeros_like(a)  #shape 与 a 一样

tf.ones()

 tf.fill([2,2],9) # 元素全部填充为9

1.2.3随机化初始化(均匀分布、正态分布)

正态分布   tf.random.normal([2,2],mean=1,stddev=1)

截断正态分布  tf.random.truncated_normal([2,2],mean=1,stddev=1)

 均匀分布 tf.random.uniform()

随机打散,  照片与索引一一对应

 tf.constant()

1.2.4 直接新建tensor 小括号里各种参数形式对应的典型应用

(1)[]:  loss,accuracy  都是标量

(2)[out_dim]  向量    Bias  线性回归的b

(3)矩阵    [b,vec_dim]   线性回归的w

(4)dim=3的tensor     自然语言处理的把一段话每个句子的单词转换为长度为5的向量

维度: 句子数目  每句含单词数目  每个单词长度  三维

(5)dim=4 tensor 图片保存  [b,h,w,c]    例如RGB格式一张图片 [1,h,w,3]

(6)dim=5 tensor      meta-learning  多一个维度:任务数量

1.3 索引

1.3.1 直接给出每个维度的索引号,多个中括号,取单一元素

 1.3.2 numpy-style indexing(推荐)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值