张量

搭建神经网络1

瘦欲@ 提交于 2020-02-29 17:08:45
基本概念 1、基于Tensorflow的NN(neural network)用 张量 表示数据,用 计算图 搭建神经网络,用 会话 执行运算图,优化线上的权重,得到模型。 0阶张量称作标量,表示一个单独的数,如s=12; 1阶张量称作向量,表示一个一维数组(列表),如V=[1,2,3]; 2阶张量称作矩阵,表示一个二维数组(列表),它可以有i行j列个元素,每个元素可以用行号和列号共同索引到, 如m=[[1,2,3],[4,5,6],[7,8,9]]; t=[[[...]]]为三阶张量。 2,数据类型:Tensorflow的 数据类型 有tf.float32、tf.int32等。 例如我们实现tensorflow的加法: import tensorflow as tf#引入模块 a = tf.constant([1.0,2.0])#定义一个张量等于[1.0,2.0],constant表示是一个常量 b = tf.constant([3.0,4.0])#定义一个张量等于[3.0,4.0] result = a+b#实现a和b的加法 print(result)#打印出结果 结果: 意思是result是一个名称为add_2:0的张量,shape=(2,)表示一维数组长度为2,dtype=float32表示数据类型为浮点型。 3,计算图(Graph):搭建神经网络的计算过程

TensorFlow函数:tf.ones

ぐ巨炮叔叔 提交于 2020-02-28 12:31:06
tf.ones 函数 ones( shape, dtype=tf.float32, name=None ) 定义于: tensorflow/python/ops/array_ops.py . 请参阅指南: 生成常量,序列和随机值>常量值张量 创建一个将所有元素都设置为1的张量. 这个操作返回一个 dtype 类型的张量,并且形状为 shape,所有的元素都被设置为1. 例如: tf.ones([2, 3], tf.int32) ==> [[1, 1, 1], [1, 1, 1]] 参数: shape:整数的列表,整数的元组或 int32 类型的一维张量. dtype:生成的张量中元素的类型. name:操作的名称(可选). 返回值: 该函数返回所有元素都设置为1的张量. 来源: https://www.cnblogs.com/tsdblogs/p/10404771.html

Tensorflow函数:tf.zeros

狂风中的少年 提交于 2020-02-28 12:30:33
tf.zeros函数 tf.zeros( shape, dtype=tf.float32, name=None ) 定义在: tensorflow/python/ops/array_ops.py . 创建一个所有元素都设置为零的张量. 该操作返回一个带有形状shape的类型为dtype张量,并且所有元素都设为零. 例如: tf.zeros([3, 4], tf.int32) # [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] 函数参数: shape:整数、整数元组或类型为int32的1维Tensor的列表. dtype:结果Tensor中元素的类型. name:操作的名称(可选). 函数返回值: tf.zeros函数返回将所有元素设置为零的张量 来源: https://www.cnblogs.com/tsdblogs/p/10404725.html

pytorch 自动求梯度

守給你的承諾、 提交于 2020-02-22 22:41:32
自动求梯度 在深度学习中,我们经常需要对函数求梯度(gradient)。PyTorch提供的 autograd 包能够根据输入和前向传播过程自动构建计算图,并执行反向传播。本节将介绍如何使用autograd包来进行自动求梯度的有关操作。 概念 上一节介绍的 Tensor 是这个包的核心类,如果将其属性 .requires_grad 设置为 True ,它将开始追踪(track)在其上的所有操作(这样就可以利用链式法则进行梯度传播了)。完成计算后,可以调用 .backward() 来完成所有梯度计算。此 Tensor 的梯度将累积到 .grad 属性中。 注意在 y.backward() 时,如果 y 是标量,则不需要为 backward() 传入任何参数;否则,需要传入一个与 y 同形的 Tensor 。 如果不想要被继续追踪,可以调用 .detach() 将其从追踪记录中分离出来,这样就可以防止将来的计算被追踪,这样梯度就传不过去了。此外,还可以用 with torch.no_grad() 将不想被追踪的操作代码块包裹起来,这种方法在评估模型的时候很常用,因为在评估模型时,我们并不需要计算可训练参数( requires_grad=True )的梯度。 Function 是另外一个很重要的类。 Tensor 和 Function 互相结合就可以构建一个记录有整个计算过程的有向无环图

F-RCN论文阅读及难点解析

拥有回忆 提交于 2020-02-20 06:33:38
论文名称:《 R-FCN:object detection via region-based fully convolutional networks 》 论文下载:http://papers.nips.cc/paper/6465-r-fcn-object-detection-via-region-based-fully-convolutional-networks.pdf 论文代码:https://github.com/daijifeng001/r-fcn 一、概述: 1、R-FCN创新点: R-FCN要解决的根本问题是Faster R-CNN检测速度慢的问题。Faster R-CNN速度慢是因为ROI层后的结构对不同的proposal是不共享的,试想下如果有300个proposal,ROI后的全连接网络就要计算300次,耗时惊人。所以本文作者把ROI后的结构往前挪来提升速度,但光是挪动下还不行,ROI在conv5后会引起上节提到的平移可变性问题,必须通过其他方法加强结构的平移可变性,Position-sensitive score map因此而生。 归纳如下: (1)提出Position-sensitive score maps来解决目标检测的位置敏感性问题; (2)充分利用全卷积网络来减少总体计算量,提升速度比Faster-RCNN快2.5-20倍; 2、R

Pytorch 中的张量系统:Tensor

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-14 22:57:24
文章目录 一、Torch 简介 1、Torch 最重要的特点及功能 2、Torch 与 Numpy 的区别与联系 二、Tensor 使用 1. tensor 的创建 2. tensor 的访问 3. tensor 的常用属性和方法 `a、常用属性` `b、常用方法` 4. tensor 的常用函数 a、数组随机打乱、选择 b、数组组合 c、数组分割 d、数组复制 5、tensor 的内存结构 三、通用函数(ufunc): 元素级运算 1. 常用的通用函数 2. 常用的统计方法 一、Torch 简介 1、Torch 最重要的特点及功能 N 维数组对象(tensor) :该对象是存储单一数据类型的多维数组(可表示标量、向量、矩阵或张量等) 具有 矢量运算和复杂广播能力 ,内存使用效率高 具有 线性代数、随机数生成以及傅里叶变换功能 2、Torch 与 Numpy 的区别与联系 Numpy 定位是各种各样的 科学计算 ,其在 CPU 上比较快 TF 和 Torch 等的定位是 机器学习 ,它们在 Numpy 的基础上做了扩展,使其支持 GPU 编程、分布式编程、自动微分 等特性 torch==numpy, tensor==ndarray :torch is a Tensor library like NumPy, with strong GPU support 二、Tensor 使用 1

deep learning with pytorch——5

有些话、适合烂在心里 提交于 2020-02-14 13:26:23
数字类型 1.张量构造函数(即张量、零和一等函数)的dtype参数指定将包含在张量中的数字数据类型。数据类型指定张量可以保存的可能值(整数与浮点数)和每个值的字节数。下面是dtype参数的可能值列表,张量中可以存储的数据类型: 每个torch.float、torch.double等都有一个对应的具体类torch.FloatTensor、torch.doublensor等。torch.int8的类是torch.CharTensor,torch.uint8的类是torch.ByteTensor。torch.Tensor是torch.FloatTensor的别名。默认数据类型是32位浮点 2.要分配正确数值类型的张量,可以指定适当的dtype作为构造函数的参数,如下所示:构造张量时可以通过dtype参数来指定张量中元素的数据类型 3.通过访问相应的属性,可以了解张量的dtype 4.可以使用相应的转换方法将张量创建函数的输出转换为正确的类型 或者 始终可以使用类型方法将一种类型的张量转换为另一种类型的张量: 产生一个在0到1之间的10×2的张量,然后转化为short类型 来源: CSDN 作者: musenh 链接: https://blog.csdn.net/musenh/article/details/104307547

Tensorflow从入门到精通之——Tensorflow基本操作

家住魔仙堡 提交于 2020-02-12 15:56:06
前边的章节介绍了什么是Tensorflow,本节将带大家真正走进Tensorflow的世界,学习Tensorflow一些基本的操作及使用方法。同时也欢迎大家关注我们的网站和系列教程: http://www.tensorflownews.com / ,学习更多的机器学习、深度学习的知识! 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来表示: 图2-1

实战Google深度学习框架-C3-TensorFlow入门

試著忘記壹切 提交于 2020-02-12 12:55:35
第三章:TensorFlow入门 TensorFlow存在计算模型,数据模型和运算 模型(本文用TF代表TensorFlow) 3.1 计算模型-计算图   3.1.1 计算图的概念    TensorFlow这个词Tensor表示张量,可以简单的理解为多维数组,Flow直观的表达了张量之间通过计算相互转化的过程。    如上图,TensorFlow中每个节点都是一个计算,而边代表了计算之间的依赖关系。a,b这两个常量不依赖任何其他计算,而add则依赖于两个常量的取值。所有TensorFlow的程序都可以用类似的计算图的形式来表示。   3.1.2计算图的使用    TF使用默认的计算图,也可通过 tf.Graph 函数生成新的计算图,不同计算图上的张量和运算都不会共享。 ''' 产生两个计算图,每个图都定义了一个名字为'v'的变量,分别初始化为0和1 可见计算图可以用来隔离张量和计算,使用tf.Graph.device可以指定运行计算的设备 g = tf.Graph() with g.device('/gpu:0'): result = a + b 将加法计算跑在GPU上 ''' import tensorflow as tf g1 = tf.Graph()#生成新的计算图 #如果需要定义多个Graph,则需要在with语句中调用as_default(

TensorFlow学习笔记(一)

空扰寡人 提交于 2020-02-09 09:37:22
[TensorFlow API](https://www.tensorflow.org/versions/r0.12/how_tos/variable_scope/index.html) TensorFlow 是目前最火的深度学习框架。 TensorFlow的环境搭建官网和其他博客都有较多例子,这里不再重复。 本机实验环境 macOS Sierra 10.12.3 tensorflow 1.0.0 CPU版本 Python 3.6.0 TensorFlow测试样例 首先TensorFlow支持C、C++、Python等语言。这里只介绍Python语言的TensorFlow的样例。 12345678910111213141516 import tensorflow as tfa = tf.constant([1.0,2.0],name="a")b = tf.constant([2.0,3.0],name="b")result = a + bsess = tf.Session()W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your