您的位置:首页 > 科技 > IT业 > tensorflow张量生成以及常用函数

tensorflow张量生成以及常用函数

2024/12/23 4:53:46 来源:https://blog.csdn.net/Water_Sunzhipeng/article/details/140277403  浏览:    关键词:tensorflow张量生成以及常用函数

张量tensor:多维数组(列表) 阶:张量的维数

维数        阶        名字                        例子

0-D          0         标量 scalar             s = 1, 2, 3

1-D          1         向量 vector             v = [1, 2, 3]

2-D          2         矩阵 matrix             m = [[1,2,3],[4,5,6]]

n-D          n         张量 tensor             t = [[[]]]

tensorflow 数据类型

tf.int32, tf.float32, tf.float64

tf.bool tf.constant([True, False])

tf.string tf.constant("hello world")

创建张量 tf.constant(张量内容, dtype=数据类型(可选))

import tensorflow as tf
a = tf.constant([1,5], dtype=tf.int64)
print(a)
print(a.dtype)
print(a.shape)

1.将numpy的数据类型转化为Tensor数据类型

tf.convert_to_tensor(数据名,dtype=数据类型(可选))

import tensorflow as tf
import numpy as np
a = np.arange(0,5)
b = tf.convert_to_tensor(a, dtype=tf.int64)
print(a)
print(b)

2.tf,zeros(维度) 全为0 tf.ones(维度)全为1 tf.fill(维度,指定值—)

a = tf.zero([2, 3])
b = tf.ones(4)
c = tf.fill([2, 2], 9)
print(a)
print(b)
print(c)

3.生成符合正态分布的随机数,默认值为0,标准差为1

tf.random.normal(维度,mean=均值, stddev= 标准差)

4.生成截断式正态分布的随机数,集中一些,保证在范围内

tf.random.truncated_normal(维度,mean=均值, stddev=标准差)

5.生成均匀分布的随机数

tf.random.uniform(维度,minval=最小值, maxval = 最大值)[min, max)

6.强制类型转换

tf.cast(张量名, dtype=数据类型)

7.计算张量维度上的元素的最小值

tf.reduce_min(张量名)

8.计算张量维度上元素的最大值

tf.reduce_max(张量名) 

9.axis=0,对纵向操作, axis = 1 横向操作

10. tf,Variable()将变量标记为可训练的,被标记的变量会在反向传播中记录梯度信息。

11.四则运算, math等,维度相同

12.特征和标签配对的函数,切分传入张量的第一个维度,生成输入特征/标签对,构建数据集

data = tf.data.Dataset.from_tensor_slices((输入特征,标签))

 13.求导函数

with结构记录计算过程,GradientTape求出张量的梯度

 14.enumerate,遍历序列,并在元素前配置索引号,内置函数

15.tf.one_hot 独热编码:在分类问题中,常用独热码做标签,标记类别:1表示是,0表示非

tf.one_hot(待转化的数据,depth=几分类)

classes = 3
label = tf.constant([1,0,2])
output = tf.one_hot(labels, depth=classes)
print(output)

16.当神经网络完成前向传播时,计算出概率,当概率符合概率分布时,才能作为概率输出tf.nn.softmax

当n分类的n个输出通过tf.nn.softmax,便符合概率分布,即可输出,其总和满足1

任意的x P(X = x)∈[0,1],         

y = tf.constant([1.01, 2.01, -0.66])
y_pro = tf.nn.softmax(y)
print(y_pro)

17.assign_sub,赋值操作,更新参数的值并返回

在调用assign_sub前,先用tf.Variable 定义变量w为可训练(可自更新)

w.assgin_sub(w要自减的内容)

 18.tf.argmax 返回0/1方向上最大值的索引号

tf.argmax(张量名,axis=操作轴)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com