张量的属性与生成|学习笔记

简介: 快速学习张量的属性与生成

开发者学堂课程【深度学习框架 TensorFlow 入门张量的属性与生成学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/773/detail/13542


张量的属性与生成


内容简介:

一、张量 (Tensor)

二、创建张量的指令

三、创建随机张量


一、张量

在编写 TensorFlow 程序时,程序传递和运算的主要目标是 f.Tensor

TensorFlow 的张量就是一个 n 维数组,类型为 tf.Tensor。

Tensor 具有以下两个重要的属性

type:数据类型

shape:形状(阶)

与 ndarray 很多地方相似,张量在 ndarray 中定义图的时候其实是一个 Tensor 对象,但在会话当中运行这个对象想要出现具体的值的时候,这个值的类型就是 ndarray。

(1) 张量的类型

(2)张量在计算机当中如何存储?

标量在计算机中为一个数字,可看成0阶张量

向量……      一维数组[2, 3, 4] …… 1阶张量

矩阵……       二维数组[[2, 3, 4]…… 2阶张量

[2, 3, 4]]

……………

张量n维数组                     n阶张量

(3)张量的阶

形状有0阶、1阶、2阶……

代码如下

def tensor demo():

……

:return:

……

tensor1 = tf . constant(4.0)

tensor2 = tf. constant([1, 2, 3, 4])

linear_ squares = tf. constant([[4], (9], (16], (25]], dtype=tf. int32 )

print("tensor1:\n", tensor1)  

print("tensor2:\n", tensor2)

print("linear_ squares:\n", linear_ squares)

return None

创建张量的时候,如果不指定类型默认 tf.float32,整型 tf. int32,浮点型 tf. float32


二、创建张量的指令

固定值张量

固定值张量

t1.zeros(shape, dtype= tf.float32, name=None)

创建所有元素设置为零的张量。此操作返回一个 dtype 具有形状shape和所有元素设置为零的类型的张量。

tf.zeros_like(tensor, dtypenNone, name=None)

给 tensor 定单张量(),此操作返回tensor与所有元素设置为零相同的类型和形状的张量。

tt.ones(shape, dtype=tf.float32, name=None)

创建一个所有元素设置为1的张量。此操作返回一个类型的张量,dtype 形 状 shape 和所有元素设置为1。

tf.ones_ like(tensor, dtype=None, name=None)

给tensor定单张量(),此操作返回tensor与所有元素设置为1相同的类型和形状的张量。

tf.fill(dims, value, name=None)

创建一个填充了标量值的张量。此操作创建一个张量的形状dims并填充它 value.

tf.constant(value, dtype=None, shape=None, name=’Const’)

创建一个常数张量。

.eval()查看具体值

随机值张量


三、创建随机张量

一般我们经常使用的随机数函数 Math.random() 产生的是服从均匀分布的随机数,能够模拟等概率出现的情况,例如扔一个骰子,1到6点的概率应该相等,但现实生活中更多的随机现象是符合正态分布的,例如20岁成年人的体重分布等。

假如我们在制作一个游戏,要随机设定许许多多NPC的身高,如果还用 Math.random()。

生成从140 到220之间的数字,就会发现每个身高段的人数是一样多的,这是比较无趣的,这样的世界也与我们习惯不同,现实应该是特别高和特别矮的都很少,处于中间的人数最多,这就要求随机图数符合正态分布。

t.truncated_ normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

从截断的正态分布中输出随机值,和 tf.random_normal() 一样,但是所有数字都不超过两个标准差

tf.random_ normal(shape, mean=0.0, stddev=1.0, dtyp=tf.loat32, seed=None, name=None)从正态分布中输出随机值,由随机正态分布的数字组成的矩阵

其它特殊的创建张量的 op

。tf.Variable

。tf.placeholder

相关文章
|
Ubuntu
Ubuntu安装aptitude
Ubuntu安装aptitude
363 0
|
4月前
|
人工智能 监控 安全
智慧工地主要包括哪些内容?
智慧工地运用物联网、AI、大数据等技术,实现施工全过程的数字化与智能化管理。涵盖人员、设备、安全、环境、质量与信息化六大板块,通过智能设备与系统协同,提升效率、保障安全、降低成本,助力绿色施工与科学决策。
789 5
|
2月前
|
缓存 数据可视化 定位技术
快递鸟快递API技术指南:获取物流轨迹信息与轨迹地图的解决方案
在当今电商竞争激烈的环境中,物流体验已成为提升用户满意度的关键因素。研究表明,超过 75% 的消费者会因物流信息不透明而放弃下单。
473 1
|
6月前
|
JSON 测试技术 数据格式
货拉拉跑腿抢单辅助器,货拉拉抢单开挂神器,运满满抢货神器脚本
本内容涵盖HTTP协议基础、Python的`requests`库使用、Web自动化测试工具Selenium的应用,以及一个订单系统模拟器的实现。
|
JavaScript
报错 Cannot read properties of undefined(reading‘addEventListener‘)如何解决
报错 Cannot read properties of undefined(reading‘addEventListener‘)如何解决
743 1
|
前端开发
Google Earth Engine(GEE)——如何加载ee.FeatureCollection中点数据在MAP中
Google Earth Engine(GEE)——如何加载ee.FeatureCollection中点数据在MAP中
793 0
Google Earth Engine(GEE)——如何加载ee.FeatureCollection中点数据在MAP中
|
网络协议 算法 安全
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.4 IPv6 和 IPv4 的对比
《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.IPv6 和 IPv4 的对比
|
JavaScript
【IntelliJ IDEA】idea支持vue文件,设置对vue的支持
【IntelliJ IDEA】idea支持vue文件,设置对vue的支持
2031 0
|
程序员 索引
《操作系统真象还原》——0.9 物理地址、逻辑地址、有效地址、线性地址、虚拟地址的区别
物理地址就是物理内存真正的地址,相当于内存中每个存储单元的门牌号,具有唯一性。不管在什么模式下,不管什么虚拟地址、线性地址,CPU最终都要以物理地址去访问内存,只有物理地址才是内存访问的终点站。
2705 0
|
容器
对话框和窗口的区别
“窗口”与“对话框”有什么区别?                       计算机类稿件的一大特点是文中的图很多。在这大量的图中,系统软件或应用软件的“界面”、“窗口”、“对话框”、“提示框”等的截图又占了很大的比例。
5350 0

热门文章

最新文章