张量

pytorch学习笔记2:比较操作

自闭症网瘾萝莉.ら 提交于 2019-12-05 21:15:27
目录 torch.eq torch.equal torch.ge torch.gt torch.eq torch.eq(input, other, out=None) → Tensor 比较 元素相等性 。第二个参数可为一个数或与第一个参数同类型形状的张量。 参数: input (Tensor) – 待比较张量 other (Tensor or float) – 比较张量或数 out (Tensor, optional) – 输出张量,须为 ByteTensor类型 or 与 input 同类型 返回值: 一个 torch.ByteTensor 张量,包含了每个位置的比较结果(相等为1,不等为0 ) 返回类型: Tensor 例子: >>> torch.eq(torch.Tensor([[1, 2], [3, 4]]), torch.Tensor([[1, 1], [4, 4]])) 1 0 0 1 [torch.ByteTensor of size 2x2] torch.equal torch.equal(tensor1, tensor2) → bool 如果 两个张量有相同的形状和元素值,则返回 True ,否则 False 。 例子: >>> torch.equal(torch.Tensor([1, 2]), torch.Tensor([1, 2])) True >>>a

pytorch学习笔记1:张量

流过昼夜 提交于 2019-12-05 21:15:16
目录 Tensor与numpy相互转换: torch.ones(),torch.add(),torch.zeros(),torch.squeeze() Tensor与numpy相互转换: import torch x=torch.Tensor(2,3)#生成一个4*5的Tensor张量 将Tensor转换为numpy数组 y=x.numpy() 将numpy数组转换为Tensor import numpy as np z=torch.from_numpy(x) torch.ones(),torch.add(),torch.zeros(),torch.squeeze() 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

tensor 中mul_,add_解读

余生长醉 提交于 2019-12-05 16:32:59
pytorch 中文网文档链接 https://ptorch.com/docs/1/Tensor 每一个张量tensor都有一个相应的torch.Storage保存其数据,张量类提供了一个多维的,横向视图的存储,并定义了数字操作。 img = ToTensor(img) img = img.mul_(2).add_(-1) torch.FloatTensor.abs_() 会在原地计算绝对值并返回修改的张量, 而 tensor.FloatTensor.abs() 将会在新张量中计算结果。 mul_( value ) mul() 的直接运算形式,即直接执行并且返回修改后的张量 add_(value) add() 的直接运算形式,即直接执行并且返回修改后的张量   来源: https://www.cnblogs.com/shuangcao/p/11933414.html

解释张量及TF的一些API

帅比萌擦擦* 提交于 2019-12-05 15:39:42
张量的定义   张量(Tensor)理论是数学的一个分支学科,在力学中有重要应用。张量这一术语起源于力学,它最初是用来表示弹性介质中各点应力状态的,后来张量理论发展成为力学和物理学的一个有力的数学工具。张量之所以重要,在于它可以满足一切物理定律必须与坐标系的选择无关的特性。 张量概念是矢量概念的推广,矢量是一阶张量。张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数(可以理解成是向量、矩阵以及更高维结构的统称)。   But we don’t have to restrict ourselves to linear algebra. As it turns out, we can move up the mathematical food chain a bit. It has long been known that there are bigger fish in the mathematical abstraction sea than just matrices. One such candidate is called a tensor. Tensors figure prominently in the mathematical underpinnings of general relativity and are fundamental to

tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构与相关报错

妖精的绣舞 提交于 2019-12-05 10:31:03
Gokula Krishnan Santhanam认为,大部分深度学习框架都包含以下五个核心组件: 张量(Tensor) 基于张量的各种操作 计算图(Computation Graph) 自动微分(Automatic Differentiation)工具 BLAS、cuBLAS、cuDNN等拓展包 文章目录 一、张量的理解 . 1、张量的解读 2、张量的各种操作 3、计算图(Computation Graph) 4、自动微分(Automatic Differentiation)工具 二、tensorflow运行结构 1、tensorflow框架整体结构 2、Numpy和tensorflow中的张量对比 3、tensorflow中的计算图 4、用变量来保存参数w 5、如何指定、调用GPU/CPU 6、计算模型computation graph 与层layer模型 7、报错修复 延伸一:tensorflow镜像在utundu安装 延伸二:TensorFlow 的黑科技摘录 延伸四:相关报错 . . 一、张量的理解 本节主要参考自文章 《开发丨深度学习框架太抽象?其实不外乎这五大核心组件》 . 1、张量的解读 **张量是所有深度学习框架中最核心的组件,因为后续的所有运算和优化算法都是基于张量进行的。**几何代数中定义的张量是基于向量和矩阵的推广,通俗一点理解的话

TensorFlow :HelloWorld

北慕城南 提交于 2019-12-05 09:22:03
1、TensorFlow简介 >使用计算图 (graph) 来表示计算任务. >在被称之为会话 (Session) 的上下文 (context) 中执行图. >使用 tensor 表示数据. >通过变量 (Variable) 维护状态. >使用feed和fetch可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据. TensorFlow 是一个编程系统, 使用图来表示计算任务. 图中的节点被称之为 op (operation 的缩写). 一个 op 获得 0 个或多个 Tensor, 执行计算, 产生 0 个或多个 Tensor. 每个 Tensor 是一个类型化的多维数组. 例如, 你可以将一小组图像集表示为一个四维浮点数数组, 这四个维度分别是 [batch, height, width, channels]. 一个 TensorFlow 图描述了计算的过程. 为了进行计算, 图必须在 会话 里被启动. 会话 将图的 op 分发到诸如 CPU 或 GPU 之类的 设备 上, 同时提供执行 op 的方法. 这些方法执行后, 将产生的 tensor 返回. 在 Python 语言中, 返回的 tensor 是 numpy ndarray 对象; 在 C 和 C++ 语言中, 返回的 tensor 是 tensorflow::Tensor 实例. 2

深度学习之路:(一)Keras中mnist数据集测试

邮差的信 提交于 2019-12-05 08:44:11
Keras环境搭建 本地环境 MacOS 一、安装Anaconda 1、下载Anaconda最新版本: 官网下载地址 附: 清华镜像源 2、下载后直接安装,点击next 3、检测版本 打开终端 输入 conda --v , 如显示如下,则安装成功。 shiqingdeMacBook- Air :~ shiqingwang $ conda --v conda 4.4 . 9 二、安装Keras 1、打开Anaconda-Navigator 依次点击 Environments -> anaconda3 -> open Terminal # GPU 版本 pip install --upgrade tensorflow-gpu # CPU 版本 pip install --upgrade tensorflow # Keras 安装 pip install keras - U --pre 2、检测是否安装成功Keras 在已安装模块中搜索, keras ,若如下,则安装成功 三、Keras中mnist数据集测试 1、 下载Keras开发包 conda install git git clone https://github .com /fchollet/keras .git cd keras/examples/ python mnist_mlp .py 2、运行出错 出现网络连接错误

【深度学习】【python】深度残差网络Resnet的实现 中文注释版

爱⌒轻易说出口 提交于 2019-12-05 07:21:35
【深度学习】【python】深度残差网络Resnet的实现 中文注释版 参考 https://github.com/wenxinxu/resnet_in_tensorflow 环境要求 python3.5 tensorflow 1.4 pytorch 0.2.0 tensorlayer 本程序需要tensorflow与tensorlayer. 程序如下: """ 深度残差网络 source: 'https://github.com/wenxinxu/resnet_in_tensorflow' 2016/12/27 """ import sys import numpy as np import tensorflow as tf import tensorlayer as tl from tensorlayer.files import load_cifar10_dataset def tensor_summary (tensor) : """显示张量的标量和直方图信息""" # 获取张量tensor的name; tensor_name = tensor.op.name # tf.summary.histogram用来显示直方图信息:一般用来显示训练过程中变量的分布情况; tf.summary.histogram(tensor_name+ "/activations" ,

TensorFlow基础知识(二)

微笑、不失礼 提交于 2019-12-05 02:49:50
摘要:本文是TensorFlow基础知识的第二部分。 1、张量的典型应用 1.1 标量 一般用来进行误差值的表示、各种测量指标的表示,例如:准确率、精度、召回率等。下面举例: 1.2 向量 在神经网络当中,向量更是十分的常见,例如神经元的偏置值b一般就要用向量来表示,这里的向量就是 【b1,b2】 T 例如我们现在要创建一个输入为5个结点,输出层为4个结点的线性网络层,那么此时创建的网络偏置值应该就是4维的,并且在TensorFlow中默认初始值为0: 1.3 矩阵 很多情况下会用到矩阵,最典型的就是权重的表示。例如我们创建一个线性网络层: 输入:【2,4】,也就是输入特征的长度为4,样本数为2; 输出:【3,2】,也就是有三个输出,两个样本; 权值:【4,3】 具体如下: 再例如,我们可以通过Dence方法创建一个网络层,然后通过kernel属性可以直接查看权重矩阵的形式,我们设计如下的网络层:输入4个结点,输出3个结点: 1.4 三维张量和四维张量 一般来讲:语义信息用三维张量表示,第一位表示句子个数,第二位表示句子的长度,第三位表示句子中单词的编码;图像信息用四维张量表示:第一位表示图像的数目,第二位、第三位表示图像的宽和高、第四位表示图像的通道数。 2、索引和切片 2.1 索引 所谓索引就是获取某一个层面的张量的信息。有两种方式: 中括号法下标法【】【】【】...

pytorch 花式张量(Tensor)操作

元气小坏坏 提交于 2019-12-05 02:34:09
一、张量的维度操作 1.squezee & unsqueeze x = torch.rand(5,1,2,1) x = torch.squeeze(x)#去掉大小为1的维度,x.shape =(5,2) x = torch.unsqueeze(x,3)#和squeeze相反在第三维上扩展,x.shape = (5,2,1) 2.张量扩散,在指定维度上将原来的张量扩展到指定大小,比如原来x是3 1,输入size为[3, 4],可以将其扩大成3 4,4为原来1个元素的复制 x = x.expand(*size) 3.转置,torch.transpose 只能交换两个维度 permute没有限制 x = torch.transpose(x, 1, 2) # 交换1和2维度 x = x.permute(1, 2, 3, 0) # 进行维度重组 4.改变形状,view&reshape 两者作用一样,区别在于是当从多的维度变到少的维度时,如果张量不是在连续内存存放,则view无法变成合并维度,会报错 x = x.view(1, 2, -1)#把原先tensor中的数据按照行优先的顺序排成一个一维的数据(这里应该是因为要求地址是连续存储的),然后按照参数组合成其他维度的tensor x = x.reshape(1, 2, -1) 5.张量拼接 cat & stack torch.cat(a