张量

tf.summary.image

匿名 (未验证) 提交于 2019-12-02 23:40:02
tf.summary.image( name, tensor, max_outputs=3, collections=None, family=None ) 摘要最多有max_output包含图像的摘要值。图像由张量构成,张量必须为4-D,形状[batch_size, height, width, channels],通道可以是: 张量被解释为灰度。 3:张量被解释为RGB。 4:张量被解释为RGBA。 图像的通道数与输入张量相同。对于浮点数输入,每次将值规范化为一个图像,以适应范围[0,255]。uint8值不变。op使用两种不同的归一化算法: 如果所有的输入值都是正数,那么就对它们进行重新排序,使最大的值为255。 如果任何输入值为负,则值将被移动,因此输入值0.0位于127。然后对它们重新排序,使最小的值为0,或者最大的值为255。 如果max_output为1,则summary value标记为'name/image'。 如果max_output大于1,则按“name/image/0”、“name/image/1”等顺序生成摘要值标记。 参数: collections family 字符串类型的标量张量。序列化的摘要协议缓冲区。 https://tensorflow.google.cn/versions/r1.9/api_docs/python/tf/summary

TensorFlow函数:tf.truncated_normal

匿名 (未验证) 提交于 2019-12-02 23:40:02
转载来源: https://www.cnblogs.com/tsdblogs/p/10404995.html tf.truncated_normal函数: tf.truncated_normal( shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None ) 定义在: tensorflow/python/ops/random_ops.py . 请参阅指南: 生成常量、序列和随机值>随机张量 生成的值遵循具有指定平均值和标准偏差的正态分布,不同之处在于其平均值大于 2 个标准差的值将被丢弃并重新选择. 函数参数: shape:一维整数张量或 Python 数组,输出张量的形状. mean:dtype 类型的 0-D 张量或 Python 值,截断正态分布的均值. stddev:dtype 类型的 0-D 张量或 Python 值,截断前正态分布的标准偏差. dtype:输出的类型. seed:一个 Python 整数.用于为分发创建随机种子.查看 tf.set_random_seed 行为. name:操作的名称(可选). 函数返回值: 文章来源: https://blog.csdn.net/zhw864680355/article/details/91448461

Pytorch-Tensor基本操作

蓝咒 提交于 2019-12-02 20:21:36
(此文为个人学习pytorch时的笔记,便于之后的查询) Tensor基本操作 创建tensor: ​ 1.numpy向量转tensor: a=np.array([2,2,2]) b=torch.from_numpy(a) ​ 2.列表转tensor: a=torch.tensor([2,2]) b=torch.FloatTensor([2,2.])#不常用 c=torch.tensor([[1,2],[3,4]])#2*2矩阵 ​ 3.利用大写接受shape创建: torch.empty(2,3)#生成一个2*3的0矩阵 torch.Tensor(2,3)#生成一个2*3的随机矩阵 torch.IntTensor(2,3) torch.FloatTensor(2,3).type() 默认下,Tensor为‘torch.FloatTensor’类型,若要改为double类型的,则需要执行 torch.set_default_tensor_type(torch.DoubleTensor) 来修改。 ​ 4.随机创建Tensor: a=torch.rand(3,3)#创建3*3的0到1均匀分布的矩阵 a=torch.randn(3,3)#均值为0方差为1正态分布矩阵 torch.rand_like(a)#等价于下一条 torch.rand(a.shape) torch.randint

Pytorch学习----认识张量

人盡茶涼 提交于 2019-12-02 15:03:54
一、Tensor概念 张量是一个多维数组,它是标量、向量、矩阵的高维拓展。张量是三维及以上的数组。 标量:是一个常数,为0维张量 向量:是一行或者一列数组成,为1维张量 矩阵:包含行和列两个维度。是2维张量。 torch.Tensor包含的属性: dtype:张量的数据类型,如torch.FloatTensor shape:张量的形状,如(64, 3, 224, 224) device:张量所在的设备,GPU/CPU data:被包装的Tensor grad:data的梯度 grad_fn:创建Tensor的Function,是自动求导的关键 requires_grad:指示是否需要梯度 is_leaf:指示是否是叶子结点 二、Tensor创建:直接创建 1. torch.tensor(data, dtype=None, device=None) 功能 :从data创建tensor 参数 : data:数据,可以是list,numpy dtype:数据类型,默认与data一致 device:所在设备,cpu或gpu requires_grad:是否需要梯度 pin_memory:是否存于锁页内存 import torch import numpy as np arr = np.ones((3, 3)) print("arr的数据类型:", arr.dtype) t = torch

Tensorflow从零到精通

十年热恋 提交于 2019-12-02 12:57:54
Tensorflow是一种计算图模型,即用图的形式来表示运算过程的一种模型。Tensorflow程序一般分为图的构建和图的执行两个阶段。图的构建阶段也称为图的定义阶段,该过程会在图模型中定义所需的运算,每次运算的的结果以及原始的输入数据都可称为一个节点(operation ,缩写为op)。我们通过以下程序来说明图的构建过程: 程序2-1: 程序2-1定义了图的构建过程,“import tensorflow as tf”,是在python中导入tensorflow模块,并另起名为“tf”;接着定义了两个常量op,m1和m2,均为1*2的矩阵;最后将m1和m2的值作为输入创建一个矩阵加法op,并输出最后的结果result。 我们分析最终的输出结果可知,其并没有输出矩阵相加的结果,而是输出了一个包含三个属性的Tensor(Tensor的概念我们会在下一节中详细讲解,这里就不再赘述)。 以上过程便是图模型的构建阶段:只在图中定义所需要的运算,而没有去执行运算。我们可以用图2-1来表示: 第二个阶段为图的执行阶段,也就是在会话(session)中执行图模型中定义好的运算。 我们通过程序2-2来解释图的执行阶段: 程序2-2: 此外,我们还可以利用CPU或GPU等计算资源分布式执行图的运算过程。一般我们无需显示的指定计算资源,Tensorflow可以自动地进行识别,如果检测到我们的GPU环境

深度学习框架太抽象?其实不外乎这五大核心组件

谁都会走 提交于 2019-12-02 10:41:16
许多初学者觉得深度学习框架抽象,虽然调用了几个函数/方法,计算了几个数学难题,但始终不能理解这些框架的全貌。 为了更好地认识深度学习框架,也为了给一些想要自己亲手搭建深度学习框架的朋友提供一些基础性的指导,日前来自苏黎世联邦理工学院计算机科学系的硕士研究生Gokula Krishnan Santhanam在博客上撰文,概括了大部分深度学习框架都会包含的五大核心组件,为我们详细剖析了深度学习框架一般性的内部组织结构。以下由AI科技评论编译。 Gokula Krishnan Santhanam认为,大部分深度学习框架都包含以下五个核心组件: 1. 张量(Tensor) 2. 基于张量的各种操作 3. 计算图(Computation Graph) 4. 自动微分(Automatic Differentiation)工具 5. BLAS、cuBLAS、cuDNN等拓展包 1. 张量(Tensor) 张量是所有深度学习框架中最核心的组件,因为后续的所有运算和优化算法都是基于张量进行的。几何代数中定义的张量是基于向量和矩阵的推广,通俗一点理解的话,我们可以将标量视为零阶张量,矢量视为一阶张量,那么矩阵就是二阶张量。 举例来说,我们可以将任意一张RGB彩色图片表示成一个三阶张量(三个维度分别是图片的高度、宽度和色彩数据)。如下图所示是一张普通的水果图片,按照RGB三原色表示,其可以拆分为三张红色

pytorch topk()

那年仲夏 提交于 2019-12-02 09:08:52
pytorch topk() torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) -> (Tensor, LongTensor) pytorch中文官网文档: http://www.mamicode.com/info-detail-2217311.html 沿给定 dim 维度返回输入张量 input 中 k 个最大值。 如果不指定 dim ,则默认为 input 的最后一维。 如果为 largest 为 False ,则返回最小的 k 个值。 返回一个元组 (values,indices) ,其中 indices 是原始输入张量 input 中测元素下标。 如果设定布尔值 sorted 为_True_,将会确保返回的 k 个值被排序。 参数: input (Tensor) – 输入张量 k (int) – “top-k”中的 k dim (int, optional) – 排序的维 largest (bool, optional) – 布尔值,控制返回最大或最小值 sorted (bool, optional) – 布尔值,控制返回值是否排序 out (tuple, optional) – 可选输出张量 (Tensor, LongTensor) output buffer ------------

基于Python玩转人工智能最火框架  TensorFlow应用实践✍✍✍

喜你入骨 提交于 2019-12-02 05:59:33
基于 Python玩转人工智能最火框架 TensorFlow应用实践 随着 TensorFlow 在研究及产品中的应用日益广泛,很多开发者及研究者都希望能深入学习这一深度学习框架。而在昨天机器之心发起的框架投票中,2144 位参与者中有 1441 位都在使用 TensorFlow 框架,是所有框架中使用率最高的。但 TensorFlow 这种静态计算图有一定的学习成本,因此也阻挡了很多准备入坑的初学者。本文介绍了学习 TensorFlow 的系列教程,旨在通过简单的理论与实践帮助初学者一步步掌握 TensorFlow 的编程技巧。 这一系列教程分为 6 部分,从为什么选择 TensorFlow 到卷积神经网络的实现,介绍了初学者所需要的技能。机器之心在本文介绍了 PyTorch 和 Caffe 等深度学习框架的优缺点及 TensorFlow 基础,包括静态计算图、张量、TensorBoard 可视化和模型参数的保存等。 为什么选择 TensorFlow? 在本文中,我们将对比当前最流行的深度学习框架(包括 Caffe、Theano、PyTorch、TensorFlow 和 Keras),帮助你为应用选择最合适的框架。 1. Caffe :第一个主流产品级深度学习库,于 2014 年由 UC Berkeley 启动。 优点: 快速 支持 GPU 漂亮的 Matlab 和 Python

PyTorch实战:Chapter-1(PyTorch介绍和入门)

白昼怎懂夜的黑 提交于 2019-12-02 01:18:35
PyTorch简介 为什么要用PyTorch? 在讲PyTorch的优点前,先讲现在用的最广的TensorFlow。 TensorFlow提供了一套深度学习从定义到部署的工具链,非常强大齐全的一套软件包,很适合工程使用,但也正是为了工程使用, TensorFlow部署模型是基于静态计算图设计的,计算图需要提前定义好计算流程,这与传统的程序语言(host language)不同。这样做可让同一计算图平行运行在多个GPU上,加快和优化模型计算。但这样设计限制了TensorFlow的灵活性。 我个人理解静态图和铺下水管道很像,TensorFlow需要将所有管道都铺好后(模型定义完成),通过Session向系统申请注水(数据),水流经过管道才能获取对应管道的值,这样的架构不利于Debug,因为定义模型的时候是没有数据流动,无法查看数据变换过程。这导致了Python提供的很多操作运算都不好使。 PyTorch支持动态计算图,能够提供线上操作,这在定义网络上操作更简单,静态图需要一个个操作声明,而动态图可以调用各种函数。并且因为是动态图,在改变网络的某一层或者改变一些变量,例如动态修改学习率,对模型做fine-tune操作,都更简单方便。 PyTorch非常适合调用新模型,用于设计自己的架构,测试新想法~ 当然我学习PyTorch的一个非常关键的原因: 许多新的模型是使用PyTorch实现的~

深度之眼PyTorch训练营第二期 ---Week1总结

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-01 19:35:07
本周重点内容和关键词总结 重点内容: 1、张量的 创建方式 : (1)直接创建:torch.tensor(numpy) torch.from_numpy(ndarray) ------ tensor与ndarray共享内存 (2)依据数值创建: torch.zeros(size, out= ) torch.zeros_like() torch.ones() torch.ones_like() //创建全1张量 torch.full() torch.full_like() //创建全0张量 torch.arange() //等差一维张量 torch.linspace() //均分一维张量 torch.eye() //对角矩阵(二维张量) (3)依据概率创建:torch.normal() //生成正态分布 4种模式 torch.randn() torch.randn_like() //创建正态分布 torch.rand() 与 torch.rand_like() //生成均匀分布 2、Variable常用于封装tensor,实现自动求导 3、张量的操作: (1)拼接cat、stack (2)切分chunk、split (3)索引index_select/masked_select (4)变换reshape、transpose 4、张量的运算 加减乘除 add sub mul div 5