张量

TensorFlow入门

耗尽温柔 提交于 2020-01-16 04:34:38
TensorFlow计算模型--计算图 计算图的概念 TensorFlow两个重要概念:Tensor和Flow,Tensor就是张量(可以理解为多维数组),Flow就是计算相互转化的过程。TensorFlow的计算方式类似Spark的有向无环图(DAG),在创建Session之后才开始计算(类似Action算子)。 简单示例 import tensorflow as tf a = tf.constant([1.0,2.0],name="a") b = tf.constant([3.0,4.0],name="b") result = a + b sess = tf.Session() print(sess.run(result)) # [ 4. 6.] TensorFlow数据模型--张量 张量的概念 张量可以简单理解为多维数组。 零阶张量表示标量(scalar),也就是一个数。一阶张量表示为向量(vector),也就是一维数组。n阶张量表示为n维数组。但张量在TensorFlow中只是对结算结果的引用,它保存的是如何得到这些数字的计算过程。 import tensorflow as tf a = tf.constant([1.0,2.0],name="a") b = tf.constant([3.0,4.0],name="b") result = a + b print

Keras_input_介绍

房东的猫 提交于 2020-01-14 03:13:42
Input(shape=None,batch_shape=None,name=None,dtype=K.floatx(),sparse=False,tensor=None) Input():用来实例化一个keras张量 Keras是一个模型级的库,提供了快速构建深度学习网络的模块。Keras并不处理如张量乘法、卷 积等底层操作。这些操作依赖于某种特定的、优化良好的张量操作库。Keras依赖于处理张量的库 就称为“后端引擎”。Keras提供了三种后端引擎Theano/Tensorflow/CNTK,并将其函数统一封 装,使得用户可以以同一个接口调用不同后端引擎的函数 Theano是一个开源的符号主义张量操作框架,由蒙特利尔大学LISA/MILA实验室开发。 TensorFlow是一个符号主义的张量操作框架,由Google开发。 CNTK是一个由微软开发的商业级工具包。 来源: CSDN 作者: 丢丢 and 二狗 链接: https://blog.csdn.net/qq_36601957/article/details/103835304

Tensor创建:直接创建

时光毁灭记忆、已成空白 提交于 2020-01-13 08:19:39
Tensor创建:直接创建 2.Tensor:直接创建 (1)torch,tensor() import torch import numpy as np torch.manual_seed ( 1 ) #通过创建torch.tensor创建张量 arr = np.ones (( 3 , 3 )) print ( "ndarray的数据类型:" ,arr.dtype ) t = torch.tensor ( arr ) print ( t ) 输出结果: 如果想对张量加速 需要将tensor的device改为cuda t = torch.tensor ( arr,device = 'cuda' ) (2)torch.from_numpy(ndarray) //从numpy创建tensor 注意:从torch.from_numpy创建的tensor与原ndarray共享内存,当修改其中一个数据时,另一个也会变动 arr = np.array ( [ [ 1,2,3 ] , [ 4,5,6 ] ] ) t = torch.from_numpy ( arr ) 修改arr的数据 arr [ 0,0 ] = 0 改变tensor t [ 0,0 ] = 100 来源: CSDN 作者: Major_s 链接: https://blog.csdn.net/qq_41375318

Tensor创建:依据数值创建

爷,独闯天下 提交于 2020-01-12 03:06:31
Tensor创建:依据数值创建 3.Tensor:依据数值创建 (1)创建全0张量 torch.zeros ( ) 有五个属性 size:张量的形状 如(3,224,224) out:输出张量 layout:内存中的布局形式,默认stride,但当存储矩阵为稀疏矩阵时可设为 sparse_coo,提高查询效率等 device:所在设备 requirs_grad:是否需要梯度 zeros = torch.zeros (( 3,3 ) ,out = out_t ) zeros与out_t也是共享同一内存空间的 (2)torch.zeros_like() 依据input形状创建全0张量 (3)全1张量 torch.ones() (4)torch.ones_like() (5)自定义数值的张量 torch.full(size,fill_value) torch.full (( 6,6 ) ,666 ) (6)torch.full_like() (7)等差张量 torch.arange() 功能:创建等差一维张量 数值区间为{start,end) end取不到 step 为公差,默认1 t = torch.arange ( 2,10,2 ) t (8)均分数列 torch.linspace() 创建一维均分数列张量 区间为闭合的区间 [start,end] t = torch

torch.cat()

早过忘川 提交于 2020-01-10 08:53:51
torch.cat 是将两个张量(tensor)拼接在一起,cat是 concatnate 的意思,即拼接,联系在一起。 >>> import torch >>> A=torch.ones(2,3) #2x3的张量(矩阵) >>> A tensor([[ 1., 1., 1.], [ 1., 1., 1.]]) >>> B=2*torch.ones(4,3)#4x3的张量(矩阵) >>> B tensor([[ 2., 2., 2.], [ 2., 2., 2.], [ 2., 2., 2.], [ 2., 2., 2.]]) >>> C=torch.cat((A,B),0)#按维数0(行)拼接 >>> C tensor([[ 1., 1., 1.], [ 1., 1., 1.], [ 2., 2., 2.], [ 2., 2., 2.], [ 2., 2., 2.], [ 2., 2., 2.]]) >>> C.size() torch.Size([6, 3]) >>> D=2*torch.ones(2,4) #2x4的张量(矩阵) >>> C=torch.cat((A,D),1)#按维数1(列)拼接 >>> C tensor([[ 1., 1., 1., 2., 2., 2., 2.], [ 1., 1., 1., 2., 2., 2., 2.]]) >>> C.size()

Tensorflow中张量的数据类型

╄→гoц情女王★ 提交于 2020-01-10 00:00:36
数据类型 Tensor中的数据有数据类型 基本对应于常用的数据类型 下表列出了数据类型的名称和python的对应关系 数据类型 Python 类型 描述 DT_FLOAT tf.float32 32 位浮点数. DT_DOUBLE tf.float64 64 位浮点数. DT_INT64 tf.int64 64 位有符号整型. DT_INT32 tf.int32 32 位有符号整型. DT_INT16 tf.int16 16 位有符号整型. DT_INT8 tf.int8 8 位有符号整型. DT_UINT8 tf.uint8 8 位无符号整型. DT_STRING tf.string 可变长度的字节数组.每一个张量元素都是一个字节数组. DT_BOOL tf.bool 布尔型. DT_COMPLEX64 tf.complex64 由两个32位浮点数组成的复数:实数和虚数. DT_QINT32 tf.qint32 用于量化Ops的32位有符号整型. DT_QINT8 tf.qint8 用于量化Ops的8位有符号整型. DT_QUINT8 tf.quint8 用于量化Ops的8位无符号整型. 来源: 51CTO 作者: 骏珏_ 链接: https://blog.51cto.com/9104469/2053975

torch.ones(),torch.add(),torch.zeros(),torch.squeeze()

独自空忆成欢 提交于 2020-01-07 17:39:02
Tensor与numpy相互转换 import torch x=torch.Tensor(2,3)#生成一个2*3的Tensor张量 将Tensor转换为numpy数组 y=x.numpy() 将numpy数组转换为Tensor import numpy as np z=torch.from_numpy(x) torch.ones() torch.ones(*sizes, out=None) → Tensor 返回一个全为 1 的张量,形状由可变参数 sizes 定义。 参数: sizes (int...) – 整数序列,定义了 输出形状 out (Tensor, optional) – 结果张量 例子: >>> torch.ones(2, 3) 1 1 1 1 1 1 [torch.FloatTensor of size 2x3] >>> torch.ones(5) 1 1 1 1 1 [torch.FloatTensor of size 5] torch.add() torch.add(input, value, out=None) 对输入张量input逐元素加上标量值value,并返回结果到一个新的张量out,即 out=tensor+value。 torch.add(input, value=1, other, out=None) other

JavaScript玩转机器学习:张量(Tensors) 和 操作(operations)

♀尐吖头ヾ 提交于 2020-01-02 08:20:14
JavaScript玩转机器学习:张量(Tensors) 和 操作(operations) 张量(Tensors) 和 操作(operations) TensorFlow.js是一个在JavaScript中使用张量来定义并运行计算的框架。张量是向量和矩阵向更高维度的推广。 张量(Tensors) tf.Tensor 是TensorFlow.js中的最重要的数据单元,它是一个形状为一维或多维数组组成的数值的集合。 tf.Tensor 和多维数组其实非常的相似。 一个 tf.Tensor 还包含如下属性: rank : 张量的维度 shape : 每个维度的数据大小 dtype : 张量中的数据类型 注释:在后文中,我们将用术语“维度(dimension)”表示 rank(秩) 。在机器学习中,张量的“维数(dimensionality)”有时也指特定维度的大小。(例如,一个形状为[10, 5]的矩阵是一个rank-2 的张量,或者可以说成一个2-维的张量。第一个维度的维数是10。所以在这里用注释的方式,描述一下这个术语的双重用法,避免之后的理解错误。) 我们可以用 tf.tensor() 方法将一个数组(array)创建为一个 tf.Tensor : // 从一个多维数组创建一个rank-2的张量矩阵 const a = tf.tensor([[1, 2], [3, 4]]);

张量的操作:拼接、切分、索引和变换

落花浮王杯 提交于 2019-12-31 13:26:23
张量的操作:拼接、切分、索引和变换 1 张量的操作:拼接、切分、索引和变换 一 张量的拼接和切分 1.1 torch.cat() 功能:将张量按维度dim进行拼接 tensor:张量序列 dim:拼接维度 t = torch.ones (( 2 , 3 )) torch.cat ( [ t,t ] ,dim = 0 ) torch.cat ( [ t,t ] ,dim = 1 ) torch.cat ( [ t,t,t ] ,dim = 1 ) 1.2 torch.stack() 功能:在新创建的维度dim上进行拼接 tensor:张量序列 dim:要拼接的维度 与cat相比,stack创建在了一个新维度 1.3 torch.chunk() 功能:将张量按维度dim进行平均切分 返回值:张量列表 注意:若不能整除,最后一份张量小于其他张量 input:要切分的张量 chunks:要切分的份数 dim:要切分的维度 a = torch.ones (( 2 , 7 )) # 7 list_of_tensors = torch.chunk ( a, dim = 1, chunks = 3 ) # 3 for idx, t in enumerate ( list_of_tensors ) : print ( "第{}个张量:{}, shape is {}" .format ( idx+1,

TensorFlow核心概念和原理介绍

。_饼干妹妹 提交于 2019-12-26 21:15:25
关于 TensorFlow TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。 节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。 TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。 核心概念:数据流图 数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。 “节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。 “线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。 张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。 更详细的介绍可以查看tensorflow中文社区: