张量

pytorch学习记录

≯℡__Kan透↙ 提交于 2019-12-09 22:13:08
1.torch.normal(means,std,out) means (Tensor) – 均值 std (Tensor) – 标准差 out (Tensor) – 可选的输出张量 这个是官网给出的解释,大意是返回一个张量,张量里面的随机数是从相互独立的正态分布中随机生成的。 例如: n_data=torch.ones(100,2) x0=torch.normal(2*n_data,1) #每个元素是从 均值=2*n_data中对应位置的取值,标准差为1的正态分布中随机生成的 2.torch.cat() torch.cat是将两个张量(tensor)拼接在一起 例如: x=torch.cat((x0,x1),0).type(torch.FloatTensor) #根据维度0合并(竖着拼) x=torch.cat((x0,x1),1).type(torch.FloatTensor) #根据维度1合并(横着拼) 3.torch.linear() torch.linspace(start, end, steps=100, out=None) : 返回一个1维张量,包含在 start 和 end 上均匀间隔的 steps 个点 start (float) -序列起点 end (float) - 序列终点 steps (int) - 在 start 与 end 间生成的样本数 out

tensorflow基础-数据类型

做~自己de王妃 提交于 2019-12-08 17:01:27
一:tensorflow中的计算定义和执行 首先,对于tensorflow来说,最重要的概念就是图(Graph)和会话(Session),tensorflow的计算思想是:以图的形式来表示模型,表示和计算分隔开。 这就是一个Data Flow Graph,最核心的就是定义和计算不等于执行,一个模型跑起来只需要两步:先描述整幅图,然后在session中执行运算。tensorflow==tensor + flow,tensor是张量,flow流动,可以理解为张量在图中通过上图所示里面的a,b,c,d,e这些运算( 这里把他们叫做op )进行流动(传递和变换)。下面通过一个简单的实例看一下: v1 = tf.constant([1,2,3]) v2 = tf.constant([4,5,6]) v3 = tf.add(v1, v2) print(v1) print(v2) print(v3) with tf.Session() as sess: print(sess.run(v3)) 在上面,定义了两个 常量类型的张量 (后面会说)v1、v2,v3把v1、v2相加,然后通缩Seeion执行运算,看一下输出结果: Tensor("Const:0", shape=(3,), dtype=int32) Tensor("Const_1:0", shape=(3,), dtype=int32)

tensorflow学习小记

ε祈祈猫儿з 提交于 2019-12-08 10:45:31
TensorFlow入门杂记 TensorFlow入门杂记 学习实战Google深度学习框架笔记及整理误区 ****1 张量 标量就是0阶张量,第一阶张量就是一维数组即向量;同理n阶张亮可以理解为n维数组。在tf中张量并不是直接数组的形式,而是对计算结果的引用,保存的是数字的计算过程,一个计算结果主要保存的是三个属性:名字,维度,类型。张量的作用:1.对中间计算结果的引用。2.计算结果完成后用来计算结果。 2会话 可以理解为session执行定义好的运算,有两种方式 import tensorflow as tf matrix1=tf.constant([[3,3]]) matrix2=tf.constant([[2],[2]]) product=tf.matmul(matrix1,matrix2) # method 1 sess=tf.Session() result=sess.run(product) print(result) sess.close() #关闭会话 # method 2 with tf.Session() as sess: result2=sess.run(product) print(result2) # 不需要再关闭 3 tf.matmul(a,b)实现矩阵乘法 tf.variable(tf.random_normal([2,3], stddev = 2)

Tensorflow杂记

╄→尐↘猪︶ㄣ 提交于 2019-12-08 10:40:42
学了Tensorflow也有一段时间,整理下知识。 TensorFlow中有两个最重要的概念:Tensor和Flow。Tensor汉译为张量,英文解释为( a generalization of the concept of a vector) 可以近似的看作为向量。Flow 是 "流"的意思,这体现了他的计算模型和方式 import tensorflow as tf hello = tf.constant('TensorFlow Test') # 创建 constant 对象 sess = tf.Session() # 实例化session print(sess.run(hello), type(hello)) OUTPUT: b'TensorFlow Test' <class 'tensorflow.python.framework.ops.Tensor'> 计算视图的运用 # TensorFlow程序一般分为两个步骤: 第一是定义计算图中所有的计算; 第二是执行计算图中的计算 在 TensorFlow 程序中,系统会自动维护一个默认的计算图,通过 tf.get_default_graph() 函数可以获取当前默认的计算图 tf.get_default_graph() 得到的是计算图所在的内存地址。 # TensorFlow 支持通过 tf.Graph 函数来生成新的计算图

tf.sparse 和tf.contrib.layers.dense_to_sparse

一世执手 提交于 2019-12-07 17:10:07
tf.SparseTensor TensorFlow表示稀疏张量作为三个独立的密张量: indices , values ,和 dense_shape 。 在Python中,三个张量被收集到一个 SparseTensor 类中以便于使用。 如果你有单独的 indices , values 和 dense_shape 张量, SparseTensor 在传递给下面的操作之前将 它们包装在一个 对象中。 具体地说,稀疏张量tf. SparseTensor(indices, values, dense_shape) 包括以下组件,其中 N 和 ndims 分别是值的数量和维度的数量 SparseTensor : indices :一个2-D int64张量的dense_shape [N, ndims] ,它指定稀疏张量中包含非零值的元素的索引(元素为零索引)。 例如, indices=[[1,3], [2,4]] 指定索引为[1,3]和[2,4]的元素具有非零值。 values :任何类型的1-D张量和dense_shape [N] ,它为每个元素提供值 indices 。 例如,给定 indices=[[1,3], [2,4]] ,该参数 values=[18, 3.6] 指定稀疏张量的元素[1,3]具有值18,并且张量的元素[2,4]具有值3.6。 dense_shape :一个1

TensorFlow函数:tf.sparse_placeholder

邮差的信 提交于 2019-12-07 17:08:06
tf.sparse_placeholder 函数 sparse_placeholder( dtype, shape=None, name=None ) 定义在: tensorflow/python/ops/array_ops.py 。 请参阅指南: 输入和读取器>占位符操作 为稀疏张量插入占位符 ,该稀疏张量将始终被提供。 注意 : 如果计算,此稀疏张量将产生一个错误;必须使用 feed_dict 可选参数将其值提供到 Session.run(),Tensor.eval() 或 Operation.run()。 如下示例: x = tf.sparse_placeholder(tf.float32) y = tf.sparse_reduce_sum(x) with tf.Session() as sess: print(sess.run(y)) # ERROR: will fail because x was not fed. indices = np.array([[3, 2, 0], [4, 5, 1]], dtype=np.int64) values = np.array([1.0, 2.0], dtype=np.float32) shape = np.array([7, 9, 2], dtype=np.int64) print(sess.run(y, feed_dict={

TensorFlow之tf.train.slice_input_producer读取数据到队列

这一生的挚爱 提交于 2019-12-07 17:07:14
tf.train.slice_input_producer 被定义于tensorflow/python/training/input.py,用于 定义读取数据到队列中的方式 。 1、tf.train.slice_input_producer和 tf.train.string_input_producer的区别 注意 tf.train.slice_input_producer 和 tf.train.string_input_producer 函数的区别: tf.train.string_input_producer 只能输入张量的列表,而 tf.train.slice_input_producer 可以将image_list,label_list等多个list组合成一个tensor_list作为输入。如下: image_dir ='path/to/image_dir/*.jpg' image_list = glob.glob(image_dir) label_list=... image_list = tf.convert_to_tensor(image_list, dtype=tf.string) # 可以将image_list,label_list多个list组合成一个tensor_list image_que, label_que = tf.train.slice_input

python深度学习培训概念整理

£可爱£侵袭症+ 提交于 2019-12-06 10:51:45
对于公司组织的人工智能学习,每周日一天课程共计五周,已经上了三次,一天课程下来讲了两本书的知识。发现老师讲的速度太快,深度不够,而且其他公司学员有的没有接触过python知识,所以有必要自己花时间多看视频整理知识点。还是得靠自己,厚积才能薄发。 无知者无畏,但是对于网上众多评价人工智能,很多人知识听起来感觉好高大上,但是深入学习后能劝退一大波人,所谓叶公好龙。 路漫漫,忍住寂寞苦学多练,才能在某天大放异彩。 以下为《Deep Learning Python--python深度学习》前三章中部分重要名称注解,共计九章。 深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续 的层(layer)中进行学习,这些层对应于越来越有意义的表示。“深度学习”中的“深度”指 的并不是利用这种方法所获取的更深层次的理解,而是指一系列连续的表示层。数据模型中 包含多少层,这被称为模型的深度(depth)。这一领域的其他名称包括分层表示学习(layered representations learning)和层级表示学习(hierarchical representations learning)。 一、 目前有三种技术力量在推动着机器学习的进步: 1、 硬件 2、 数据集和基准 3、 算法上的改进 二、深度学习的三个重要特质: 1、简单 2、可拓展 3、 多功能和可复用 三

深度学习之数学基础(线性代数篇)

空扰寡人 提交于 2019-12-06 01:53:09
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/z4909801/article/details/78359952 2-1、标量 一个标量就是一个单独的数,一般用小写的的变量名称表示。 2-2、向量 一个向量就是一列数,这些数是有序排列的。用过次序中的索引,我们可以确定每个单独的数。通常会赋予向量粗体的小写名称。当我们需要明确表示向量中的元素时,我们会将元素排 列成一个方括号包围的纵柱: 我们可以把向量看作空间中的点,每个元素是不同的坐标轴上的坐标。 2-3、矩阵 矩阵是二维数组,其中的每一个元素被两个索引而非一个所确定。我们通常会赋予矩阵粗体的大写变量名称,比如A。 如果一个实数矩阵高度为m,宽度为n,那么我们说 。 2-4、张量 几何代数中定义的张量是基于向量和矩阵的推广,通俗一点理解的话,我们可以将标量视为零阶张量,矢量视为一阶张量,那么矩阵就是二阶张量。 例如,可以将任意一张彩色图片表示成一个三阶张量,三个维度分别是图片的高度、宽度和色彩数据。将这张图用张量表示出来,就是最下方的那张表格: 其中表的横轴表示图片的宽度值,这里只截取0~319;表的纵轴表示图片的高度值,这里只截取0~4;表格中每个方格代表一个像素点,比如第一行第一列的表格数据为[1.0,1.0,1

PyTorch学习笔记:PyTorch初体验

不想你离开。 提交于 2019-12-05 21:15:38
PyTorch学习笔记:PyTorch初体验 一、在Anaconda里安装PyTorch 1、进入虚拟环境mlcc 2、安装PyTorch 二、在PyTorch创建张量 1、启动mlcc环境下的Spyder,导入PyTorch,查看版本号 2、使用pytorch创建张量 创建一个未初始化的3×5矩阵: 创建一个随机初始化的3×5矩阵: 创建一个零元素的长整型3×5矩阵: 创建一个元素皆为1的浮点型3×5矩阵: 直接由数据(列表)创建张量: 但是基于元素类型不一致的列表创建张量是要报错的: 全是字符串构成的列表,基于它创建张量也要出错: 基于已有的张量创建新的张量: 获取张量的尺寸(元组): 获取张量的元素: 获取张量的行: 获取张量的列: 三、张量的操作 张量与数量进行算术运算(逐个元素): 张量与张量(同阶)进行算术运算(逐个元素): 张量与张量进行矩阵运算: 来源: CSDN 作者: howard2005 链接: https://blog.csdn.net/howard2005/article/details/102590728