张量

关于tensorflow的规约函数

烈酒焚心 提交于 2019-12-01 13:24:06
规约函数都有降维的功能,每个函数都有维度线(axis) ,如果不指定,那么他的默认参数是None,就是把这个张量(tensor)降到0维度,也就是一个数。 规约函数如下: 函数 描述 reduce_sum ( input_tensor , axis = None , keep_dims = False , name = None , reduction_indices = None) 计算输入张量元素的和,或者按照axis指定的轴进行求和 reduce_prod(input_tensor,axis=None,keep_dims=False,name=None,reduction_indices=None) 计算输入张量元素的乘积,或者按照axis指定的轴进行乘积 reduce_mix(input_tensor,axis=None,keep_dims=False,name=None,reduction_indices=None) 计算输入张量元素的最小值 reduce_max(input_tensor,axis=None,keep_dims=False,name=None,reduction_indices=None) 计算输入张量元素的最大值 reduce_mean(input_tensor,axis=None,keep_dims=False,name=None,reduction

深度之眼PyTorch训练营第二期 ---3、计算图与动态图机制

瘦欲@ 提交于 2019-12-01 11:27:48
一、计算图 1、计算图是用于描述运算的有向无环图。 主要有两个元素:结点(Node)、边(edge) 结点表示 数据 ,如向量、矩阵、张量 边表示 运算 ,如加减乘除卷积等   例子:用计算图表示 y = (x + w) * (w + 1)   拆分:a = x + w b = w + 1 ---> y = a * b 2、计算图与梯度求导 =b * 1 + a * 1 =b + a =(w+1) + (x+w) =2*w + x + 1 =2 * 1 + 2 + 1 =5 y到w所有路径 3、叶子结点:用户创建的结点称为叶子结点,如X与W is_leaf:指示张量是否为叶子结点 retain_grad():保存相应张量的梯度 grad_fn:记录创建该张量时所用到的方法(函数) --- 反向传播时常用 结果:y.grad_fn = <MulBackward0>   a.grad_fn = <AddBackward0>   b.grad_fn = <AddBackward0> 二、动态图 Dynamic Graph 动态图:运算与搭建同时进行 ---PyTorch 灵活,易调节 静态图:先搭建图,后运算 ---tensorflow 高效,不灵活 来源: https://www.cnblogs.com/cola-1998/p/11683243.html

深度之眼PyTorch训练营第二期 ---2、张量操作与线性回归

一个人想着一个人 提交于 2019-12-01 10:10:13
一、张量的操作:拼接、切分、索引和变换 1、拼接 (1)torch.cat() 功能:将张量按照维度dim进行拼接(不会扩张)   tensors:张量序列 dim:要拼接的维度 (2)torch.stack() 功能:在新创建的维度dim上进行拼接(会扩张张量的维度)   tensors:张量序列 dim:要拼接的维度 (3)torch.chunk() 功能:将张量按维度dim进行平均切分 返回值:张量列表   注意:若不能整除,最后一份张量小于其他张量   input:要切分的张量 chunks:要切分的份数 dim:要切分的维度 (4)torch.split() 功能:切分   tensor:要切分的张量 split_size_or_sections:为int时,表示每一份的长度;为list时,按list元素切分 dim:要切分的维度 2、索引 (1)torch.index_select() 功能: 在维度dim上,按index索引数据 返回值: 依index索引数据拼接的张量   index:要索引的张量 dim:要索引的维度 index:要索引数据序号 (2)torch.masked_select() 功能: 按mask中的True进行索引 返回值: 一维张量 通常用于筛选数据   input:要索引的张量 mask:与input同形状的布尔类型张量 3、张量变换 (1

关于tensoeflow的张量(tensor)

孤街浪徒 提交于 2019-12-01 09:40:27
tensorflow程序使用张量(tensor)数据结构来代表所有的数据,计算图中、操作间传递的数据都是张量(tensor) 一、其实张量(tensor)是一个n维的数组或者列表,每个张量(tensor)中包含有类型、阶和形状,下面分别介绍这三种 1、张量(tensor)的类型(type) tensoe类型 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位浮点数组成的复数:实部和虚部 2、张量(tensor)的阶(rank) 传统上我们说一个n*n的矩阵(方阵)阶数是n阶。但是张量(tensor)和矩阵在阶数表达的不是同一个概念,在张量(tensor)中是看有几层括号就表示是几维。例如:[[1,2,3],[1,2,3],[1,2,3]

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

送分小仙女□ 提交于 2019-12-01 04:19:48
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 接口

tf.transpose()的用法

蓝咒 提交于 2019-11-30 22:49:19
tf.transpose()的用法 一、tensorflow官方文档内容 transpose( a, perm = None , name = 'transpose' ) Defined in tensorflow/python/ops/array_ops.py . See the guides: Math > Matrix Math Functions , Tensor Transformations > Slicing and Joining Transposes a . Permutes the dimensions according to perm . The returned tensor's dimension i will correspond to the input dimension perm[i] . If perm is not given, it is set to (n-1...0), where n is the rank of the input tensor. Hence by default, this operation performs a regular matrix transpose on 2-D input Tensors. For example:   # 'x' is [[1 2 3] # [4 5 6]] tf

TensorFlow2.0(五):张量限幅

好久不见. 提交于 2019-11-30 19:51:38
/*--> */ /*--> */ /*--> */ /*--> */ /*--> */ /*--> */ /*--> */ /*--> */ 1 maxmium()与minmium() ¶ maximum()用于限制最小值,也即是说,将一个tensor中小于指定值的元素替换为指定值: In [2]: import tensorflow as tf In [3]: a = tf.range(10) a Out[3]: <tf.Tensor: id=3, shape=(10,), dtype=int32, numpy=array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])> In [4]: tf.maximum(a, 4) Out[4]: <tf.Tensor: id=6, shape=(10,), dtype=int32, numpy=array([4, 4, 4, 4, 4, 5, 6, 7, 8, 9])> In [12]: b = tf.random.uniform([3,4], minval=1, maxval=10, dtype=tf.int32) b Out[12]: <tf.Tensor: id=36, shape=(3, 4), dtype=int32, numpy= array([[6, 7, 5, 3], [3, 2, 9, 4], [8,

deep_learning_MNIST数据集

ぐ巨炮叔叔 提交于 2019-11-30 16:02:59
Code_link: https://pan.baidu.com/s/1dshQt57196fhh67F8nqWow 本文是为既没有机器学习基础也没了解过TensorFlow的码农、序媛们准备的。如果已经了解什么是MNIST和softmax回归本文也可以再次帮助你提升理解。在阅读之前,请先确保在合适的环境中安装了TensorFlow( windows安装请点这里 ,其他版本请官网找),适当编写文章中提到的例子能提升理解。 首先我们需要了解什么是“ MNIST ”? 每当我们学习一门新的语言时,所有的入门教程官方都会提供一个典型的例子——“Hello World”。而在机器学习中,入门的例子称之为MNIST。 MNIST是一个简单的视觉计算数据集,它是像下面这样手写的数字图片: 每张图片还额外有一个标签记录了图片上数字是几,例如上面几张图的标签就是:5、0、4、1。 本文将会展现如何训练一个模型来识别这些图片,最终实现模型对图片上的数字进行预测。 首先要明确,我们的目标并不是要训练一个能在实际应用中使用的模型,而是通过这个过程了解如何使用TensorFlow完成整个机器学习的过程。我们会从一个非常简单的模型开始——Softmax回归。 然后要明白,例子对应的源代码非常简单,所有值得关注的信息仅仅在三行代码中。然而,这对于理解TensorFlow如何工作以及机器学习的核心概念非常重要

TensorFlow2.0教程30:使用tf.function和AutoGraph提高代码性能

允我心安 提交于 2019-11-30 13:19:42
  在TensorFlow 2.0中,默认情况下启用了急切执行。 对于用户而言直观且灵活(运行一次性操作更容易,更快),但这可能会牺牲性能和可部署性。   要获得最佳性能并使模型可在任何地方部署,可以优先使用tf.function从程序中构建图。 因为有AutoGraph,可以使用tf.function构建高效性能的Python代码,但仍有一些陷阱需要警惕。   今天我们就来介绍一下tensorflow2.0中的TF fuction和AutoGraph。   下面的辅助程序代码,用于演示可能遇到的各种错误。   import contextlib   # 构建包含上下文管理器的函数,使其可以在with中使用   @contextlib.contextmanager   def assert_raises(error_class):   try:   yield   except error_class as e:   print('Caught expected exception \n {}: {}'.format(error_class, e))   except Exception as e:   print('Got unexpected exception \n {}: {}'.format(type(e), e))   else:   raise Exception(

PyTorch学习笔记

瘦欲@ 提交于 2019-11-30 12:49:33
【PyTorch深度学习60分钟快速入门 】Part1:PyTorch是什么?来源:https://www.cnblogs.com/leejack/p/8370634.html import torch import numpy as np #用于替代NumPy(torch对象叫张量,带前缀和括号,并用逗号分隔,numpy对象叫数组,用空格分隔),#torch可以使用GPU的计算力,一种深度学习研究平台,可以提供最大的灵活性和速度 x = torch.Tensor(5, 3) #创建一个5x3且未初始化的矩阵,如果将首字母大写的Tensor改成小写tensor,会报错 #print(x) x = torch.rand(5, 3)#创建一个随机初始化的矩阵rand表示0~1之间均匀分布的随机数 #print(x) #print(x.size()) y = torch.rand(5, 3) #print(x + y) #print(torch.add(x, y)) result = torch.Tensor(5, 3) #print(result) torch.add(x, y, out=result) #print(result) y.add_(x) #原地替换,任何原地改变张量值的操作后缀都是固定的_,例如:x.copy_(y)、x.t_(),都将原地改变x的值。 #print(y