网站tdk标签,巴州区建设局网站,企业服务网站建设方案,欧亚专线快递查询单号查询一、张量
1、什么是张量 张量Tensor和ndarray是有联系的#xff0c;当我们print()打印值的时候#xff0c;它返回的就是ndarray对象
TensorFlow的张量就是一个n维数组#xff0c;类型为tf.Tensor。Tensor具有以下两个重要的属性#xff1a; #xff08;1#xff09;typ…一、张量
1、什么是张量 张量Tensor和ndarray是有联系的当我们print()打印值的时候它返回的就是ndarray对象
TensorFlow的张量就是一个n维数组类型为tf.Tensor。Tensor具有以下两个重要的属性 1type数据类型 2shape形状阶
2、张量的类型 张量在计算机当中如何存储
标量一个数字 向量一维数组 [2,3,4] 矩阵二维数组 [[2,3,4],[2,3,4]] 张量就是n维数组 标量可以看做0阶张量 向量可以看做1阶张量 矩阵可以看做2阶张量 n维数组n阶张量
数据类型python类型描述DT_FLOATtf.float3232位浮点数DT_DOUBLEtf.float6464位浮点数DT_INT64tf.int6464位有符号整数DT_INT32tf.int3232位有符号整数DT_INT16tf.int1616位有符号整数DT_INT8tf.int88位有符号整数DT_UINT8tf.uint88位无符号整数DT_STRINGtf.string可变长度的字节数组每一个张量元素都是一个字节数组DT_BOOLtf.bool布尔型DT_COMPLEX64tf.complex64由两个32位浮点数组成的复数实数和虚数DT_QINT32tf.qint32用于量化Ops的32位有符号整型DT_QINT8tf.qint8用于量化Ops的8位有符号整型DT_QUINT8tf.quint8用于量化Ops的8位无符号整型
3、张量的阶 对应到ndarray的维数
阶数学实例python例子0纯量只有大小s 4831向量大小和方向v [1.1, 2.2, 3.3]2矩阵数据表m [[1,2,3],[4,5,6],[7,8,9]]33阶张量数据立体...nn阶张量自己想想......
import os
os.environ[TF_CPP_MIN_LOG_LEVEL]2
import tensorflow as tfdef tensorflow_demo():TensorFlow的基本结构# TensorFlow实现加减法运算a_t tf.constant(2)b_t tf.constant(3)c_t a_t b_tprint(TensorFlow加法运算结果\n, c_t)print(c_t.numpy())# 2.0版本不需要开启会话已经没有会话模块了return Nonedef graph_demo():图的演示# TensorFlow实现加减法运算a_t tf.constant(2)b_t tf.constant(3)c_t a_t b_tprint(TensorFlow加法运算结果\n, c_t)print(c_t.numpy())# 查看默认图# 方法1调用方法default_g tf.compat.v1.get_default_graph()print(default_g\n, default_g)# 方法2查看属性# print(a_t的图属性\n, a_t.graph)# print(c_t的图属性\n, c_t.graph)# 自定义图new_g tf.Graph()# 在自己的图中定义数据和操作with new_g.as_default():a_new tf.constant(20)b_new tf.constant(30)c_new a_new b_newprint(c_new\n, c_new)print(a_new的图属性\n, a_new.graph)print(b_new的图属性\n, b_new.graph)# 开启new_g的会话with tf.compat.v1.Session(graphnew_g) as sess:c_new_value sess.run(c_new)print(c_new_value\n, c_new_value)print(我们自己创建的图为\n, sess.graph)# 可视化自定义图# 1创建一个writerwriter tf.summary.create_file_writer(./tmp/summary)# 2将图写入with writer.as_default():tf.summary.graph(new_g)return Nonedef session_run_demo():feed操作tf.compat.v1.disable_eager_execution()# 定义占位符a tf.compat.v1.placeholder(tf.float32)b tf.compat.v1.placeholder(tf.float32)sum_ab tf.add(a, b)print(a\n, a)print(b\n, b)print(sum_ab\n, sum_ab)# 开启会话with tf.compat.v1.Session() as sess:print(占位符的结果\n, sess.run(sum_ab, feed_dict{a: 1.1, b: 2.2}))return Nonedef tensor_demo():张量的演示tensor1 tf.constant(4.0)tensor2 tf.constant([1, 2, 3, 4])linear_squares tf.constant([[4], [9], [16], [25]], dtypetf.int32)print(tensor1\n, tensor1)print(tensor2\n, tensor2)print(linear_squares\n, linear_squares)return Noneif __name__ __main__:# 代码1TensorFlow的基本结构# tensorflow_demo()# 代码2图的演示#graph_demo()# feed操作#session_run_demo()# 代码4张量的演示tensor_demo()
python3 day01_deeplearning.pytensor1tf.Tensor(4.0, shape(), dtypefloat32)
tensor2tf.Tensor([1 2 3 4], shape(4,), dtypeint32)
linear_squarestf.Tensor(
[[ 4][ 9][16][25]], shape(4, 1), dtypeint32)
创建张量的时候如果不指定类型 整型默认tf.inf32 浮点型默认tf.float32
二、创建张量的指令
1、固定值张量 tf.zeros(shape, dtypetf.float32, nameNone) 创建所有元素设置为零的张量 此操作返回一个具有dtype、shape和所有元素设置为零的类型的张量
tf.zeros_like(tensor, dtypeNone, nameNone) 给定一个张量tensor该操作返回与所有元素设置为零的tensor具有相同类型和形状的张量
tf.ones(shape, dtypetf.float32, nameNone) 创建一个所有元素设置为1的张量 此操作返回一个具有dtype、shape和所有元素设置为1的类型的张量
tf.ones_like(tensor, dtypeNone, nameNone) 给定一个张量tensor该操作返回与所有元素设置为1的tensor具有相同类型和形状的张量
tf.fill(dims, value, nameNone) 创建一个填充了标量值的张量 此操作创建一个张量形状为dims并用value填充
tf.constant(value, dtypeNone, shapeNone, nameConst) 创建一个常数张量
2、随机值张量
一般我们经常使用的随机函数Math.random()产生的是服从均匀分布的随机数能够模拟等概率出现的情况 例如仍一个骰子1到6点的概率应该相等但现实生活中更多的随机现象是符合正态分布的例如20岁成年人的体重分布等
假如我们在制作一个游戏要随机设定许许多多NPC的升高如果还用Math.random()生成从140到220之间的数字就会发现每个身高段的人数是一样多的这是比较无趣的这样的世界也与我们习惯不同现实应该是特别高和特别矮的都很少处于中间的人数最多这就要求随机函数符合正态分布
tf.truncated_normal(shape, mean0.0, stddev1.0, dtypetf.float32, seedNone, nameNone) 从截断的正态分布中输出随机值和tf.random_normal()一样但是所有数字都不超过两个标准差 mean均值 stddev标准差
tf.random_normal(shape, mean0.0, stddev1.0, dtypetf.float32, seedNone, nameNone) 从正态分布中输出随机值由随机正态分布的数字组成的矩阵 mean均值 stddev标准差