AI - TensorFlow - 张量(Tensor)】的更多相关文章

张量(Tensor) 在Tensorflow中,变量统一称作张量(Tensor). 张量(Tensor)是任意维度的数组. 0阶张量:纯量或标量 (scalar), 也就是一个数值,例如,\'Howdy\' 或 5 1阶张量:向量 (vector)或矢量,也就是一维数组(一组有序排列的数),例如,[2, 3, 5, 7, 11] 或 [5] 2阶张量:矩阵 (matrix),也就是二维数组(有序排列的向量),例如,[[3.1, 8.2, 5.9][4.3, -2.7, 6.5]] 3阶张量:三维…
tensorflow的命名来源于本身的运行原理,tensor(张量)意味着N维数组,flow(流)意味着基于数据流图的计算,所以tensorflow字面理解为张量从流图的一端流动到另一端的计算过程. tensorflow中的所有数据如图片.语音等都是以张量这种数据结构的形式表示的.张量是一种组合类型的数据类型,表示为一个多维数组,通用的表示形式为 [T1,T2,T3,-Tn]  ,其中 T  可以是在tensorflow中指定类型的单个数字,也可以是一个矩阵.张量(tensor)的属性--维数(…
01 - 基本的神经网络结构 输入端--->神经网络(黑盒)--->输出端 输入层:负责接收信息 隐藏层:对输入信息的加工处理 输出层:计算机对这个输入信息的认知 每一层点开都有它相应的内容,函数和功能.一般来说, 神经网络(Neural Network)是一连串神经层所组成的把输入进行加工再输出的系统. 神经网络的加工处理: 特征(features)--->神经网络层加工--->代表特征(feature representation)--->神经网络层再次加工--->…
好了,咱们今天终于进入了现阶段机器学习领域内最流行的一个框架啦——TensorFlow.对的,这款由谷歌开发的机器学习框架非常的简单易用并且得到了几乎所有主流的认可,谷歌为了推广它的这个框架甚至单独开辟了免费学习这个框架的视频教程,可惜这些教程都是基于TensorFlow1.0版本的,一直没有更新.现在都是TensorFlow2.0版本了,其中的开发的API的变化非常非常大,很多都是不兼容的,非常坑,如果大家还是觉得要跳坑,我不拦着哈.它的应用的官方视频教程的地址是https://develop…
1.tensorflow的数据流图限制了它的tensor是只读属性,因此对于一个Tensor(张量)形式的矩阵,想修改特定位置的元素,比较困难. 2.我要做的是将所有的操作定义为符号形式的操作.也就是抽象概念的数据流图.当用feed_dict传入具体值以后,就能用sess.run读出具体值. 一.相关内容 https://blog.csdn.net/Cerisier/article/details/79584851 Tensorflow小技巧整理:修改张量特定元素的值 二.修改矩阵的某一列 代码…
x = tf.placeholder(tf.float32, [None, 784]) x isn't a specific value. It's a placeholder, a value that we'll input when we ask TensorFlow to run a computation. We want to be able to input any number of MNIST images, each flattened into a 784-dimensio…
import tensorflow as tf from tensorflow.python.framework import ops ops.reset_default_graph() #开始一个计算图,通过使用tf.Session()的方式来获得 sess=tf.Session() #创建张量,TensorFlow当中内置了很多用来创建张量的不同方式 my_tensor=tf.zeros([1,20]) #通过在会话当中调用run函数估算我们的tensor print(sess.run(my…
张量常规解释 张量(tensor)理论是数学的一个分支学科,在力学中有重要应用.张量这一术语起源于力学,它最初是用来表示弹性介质中各点应力状态的,后来张量理论发展成为力学和物理学的一个有力的数学工具.张量之所以重要,在于它可以满足一切物理定律必须与坐标系的选择无关的特性.张量概念是矢量概念的推广,矢量是一阶张量.张量是一个可用来表示在一些矢量.标量和其他张量之间的线性关系的多线性函数. Tensorflow中张量的概念 在tensorflow程序中所有的数据都通过张量的形式来表示. 从功能的角度…
关于tensorflow里多维数组(主要是四维)的组织形式之前一直没弄懂,最近遇到相关问题,算是搞清楚了一些东西,特别记下来,免得自己又遗忘了. 三维形式能很简单的脑补出来三维的形状,不再赘述. 之前一直纠结四维的时候数据是怎样填充的.特别是遇到深度学习的时候输入都是[batch,height,width,channel],这种四维的张量的时候,是怎样个数据的形状. 先看代码: prediction2 = tf.constant([1,2,3,4,5,6,7,8,9,13,14,14,15,1,…
tf中使用张量(tensor)这种数据结构来表示所有的数据,可以把张量看成是一个具有n个维度的数组或列表,张量会在各个节点之间流动,参与计算. 张量具有静态维度和动态维度. 在图构建过程中定义的张量拥有的维度是静态维度,这个维度可以被定义为不确定的,例如定义一个tensor的维度是[None,10],表示这个tensor的第一个维度是不确定的,可以是任意的,None 表示具体维度值要在图运行过程中确定.在图运行的时候,张量在图中各个节点之间流动,此时张量具有的维度是动态维度,依据操作的需要,动态…
Tensor即张量,在tensorflow中所有的数据都通过张量流来传输,在看代码的时候,对张量的概念很不解,很容易和矩阵弄混,今天晚上查了点资料,并深入了解了一下,简单总结一下什么是张量的阶,以及张量的shape是什么? 在tensorflow中,张量的维数被描述为“阶”,张量是以list的形式存储的.list有几重中括号,对应的张量就是几阶.如t=[ [1,2,3],[4,5,6],[7,8,9] ],t就是一个二阶张量. 我们可以认为,一阶张量,如[1,2,3],相当于一个向量,二阶张量,…
1 关于张量的四种定义 “张量”在不同的运用场景下有不同的定义. 第一个定义,张量是多维数组,这个定义常见于各种人工智能软件.听起来还好理解.--本文仅解释此种 2 多维数组 从第一个定义:张量是多维数组开始. 现在机器学习很火,知名开源框架tensor-flow是这么定义tensor(张量)的: A tensor is a generalization of vectors and matrices to potentially higher dimensions 也就是说,张量(tensor…
本篇记录一下TensorFlow中张量的排序方法 tf.sort和tf.argsort # 声明tensor a是由1到5打乱顺序组成的 a = tf.random.shuffle(tf.range(5)) # 打印排序后的tensor print(tf.sort(a,direction='DESCENDING').numpy()) # 打印从大到小排序后,数字对应原来的索引 print(tf.argsort(a,direction='DESCENDING').numpy()) index =…
影评文本分类 文本分类(Text classification):https://www.tensorflow.org/tutorials/keras/basic_text_classification主要步骤: 1.加载IMDB数据集 2.探索数据:了解数据格式.将整数转换为字词 3.准备数据 4.构建模型:隐藏单元.损失函数和优化器 5.创建验证集 6.训练模型 7.评估模型 8.可视化:创建准确率和损失随时间变化的图 IMDB数据集 包含来自互联网电影数据库的50000条影评文本 http…
Hello world # coding=utf-8 import tensorflow as tf import os os.environ[' try: tf.contrib.eager.enable_eager_execution() print("TF imported with eager execution!") except ValueError: print("TF already imported with eager execution!") t…
tensorflow中的tensor值的获取: import tensorflow as tf #定义变量a a=tf.Variable([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]) #定义索引 indics=[[0,0,0],[0,1,1],[0,1,2]] #把a中索引为indics的值取出 b=tf.gather_nd(a,indics) #初始化 init=tf.global_variables_initializer() with tf.Sessi…
tensorflow as tf tf.reshape(tensor, shape, name=None) reshape作用是将tensor变换为指定shape的形式. 其中shape为一个列表形式,特殊的一点是列表中可以存在-1.-1代表的含义是不用我们自己指定这一维的大小,函数会自动计算(根据已给定的维度,自动推出-1指定的维度),但列表中只能存在一个-1.(当然如果存在多个-1,就是一个存在多解的方程了) # tensor 't' is [1, 2, 3, 4, 5, 6, 7, 8,…
对输入或输出而言: 一个张量的形状为a x b x c x d,实际写出这个张量时: 最外层括号[…]表示这个是一个张量,无别的意义! 次外层括号有a个,表示这个张量里有a个样本 再往内的括号有b个,表示每个样本的长 再往内的括号有c个,表示每个样本的宽 再往内没有括号,也就是最内层的括号里的数有d个,表示每个样本的深度为d tf.nn.conv2d(), tf.reshape()等都是这样表示 给一个具体的张量,求这个张量的a,b,c,d值时,首先忽略最外层的括号,再数次外层括号个数(a),再…
# 主要是两个方法: # 1.数组转tensor:数组a, tensor_a=tf.convert_to_tensor(a) # 2.tensor转数组:tensor b, array_b=b.eval() import tensorflow as tf import numpy as np a=np.array([[1,2,3],[4,5,6],[7,8,9]]) print (a) b=tf.constant(a) with tf.Session() as sess: print (b) f…
对于大部分已经熟练的数学和物理工作者, 这实在是一个极为基础的问题. 但这个问题在我刚接触张量时也困扰了我很久. 张量的那么多定义, 究竟哪些是对的? (显然都是对的. ) 它们的关系是什么? 我尽可能简单地用我自己的话把我对它粗浅的理解讲得明白些. A View from Physics 张量的概念早在19世纪末就被数学家提出了, 但这个概念真正发扬光大, 还是在相对论出现以后. 原因是, 在相对论中, 在不同的参考系下看同一个物理系统, 它"看起来"是不一样的: 比如粒子的动量和能…
# tf.Graph对象定义了一个命名空间对于它自身包含的tf.Operation对象 # TensorFlow自动选择一个独一无二的名字,对于数据流图中的每一个操作 # 但是给操作添加一个描述性的名字可以使你的程序更容易来阅读和调试 # TensorFlow api提供两种方式来重写一个操作的名字 # 1.每一个api函数创建了一个新的tf.Operation或者返回一个新的tf.Tensor接收一个可选的name参数 # 列如tf.constant(42.0,name="answer&quo…
本篇内容有clip_by_value.clip_by_norm.gradient clipping 1.tf.clip_by_value a = tf.range(10) print(a) # if x<a res=a,else x=x print(tf.maximum(a,2)) # if x>a,res=a,else x=x print(tf.minimum(a,8)) # 综合maximum和minimum两个函数的功能,指定上下限 print(tf.clip_by_value(a,2,…
Tensor是Tensorflow中重要的对象.下面是Tensor的常用方法,后面还会写一篇随笔记录Variable的用法. 1. 生成一个(常)Tensor对象 >>>A = tf.constant(4) >>>B = tf.constant([[1, 2], [3, 4])) >>>A <tf.Tensor: id=76, shape=(), dtype=int32, numpy=4> >>>B <tf.Tens…
基本回归 回归(Regression):https://www.tensorflow.org/tutorials/keras/basic_regression 主要步骤:数据部分 获取数据(Get the data) 清洗数据(Clean the data) 划分训练集和测试集(Split the data into train and test) 检查数据(Inspect the data) 分离标签(Split features from labels) 规范化数据(Normalize th…
基本分类 基本分类(Basic classification):https://www.tensorflow.org/tutorials/keras/basic_classification Fashion MNIST数据集 经典 MNIST 数据集(常用作计算机视觉机器学习程序的“Hello, World”入门数据集)的简易替换 包含训练数据60000个,测试数据10000个,每个图片是28x28像素的灰度图像,涵盖10个类别 https://keras.io/datasets/#fashio…
过拟合 过拟合(overfitting,过度学习,过度拟合): 过度准确地拟合了历史数据(精确的区分了所有的训练数据),而对新数据适应性较差,预测时会有很大误差. 过拟合是机器学习中常见的问题,解决方法主要有下面几种: 1. 增加数据量 大部分过拟合产生的原因是因为数据量太少. 2. 运用正则化 例如L1.L2 regularization等等,适用于大多数的机器学习,包括神经网络. 3. Dropout 专门用在神经网络的正则化的方法. Dropout regularization是指在深度学…
分类与回归 分类(Classification)与回归(Regression)的区别在于输出变量的类型.通俗理解,定量输出称为回归,或者说是连续变量预测:定性输出称为分类,或者说是离散变量预测. 回归问题的预测结果是连续的,通常是用来预测一个值,如预测房价.未来的天气情况等等.一个比较常见的回归算法是线性回归算法(LR,Linear Regression).回归分析用在神经网络上,其最上层不需要加上softmax函数,而是直接对前一层累加即可.回归是对真实值的一种逼近预测. 分类问题的预测结果是…
TensorBoard TensorFlow自带的可视化工具,能够以直观的流程图的方式,清楚展示出整个神经网络的结构和框架,便于理解模型和发现问题. 可视化学习:https://www.tensorflow.org/guide/summaries_and_tensorboard 图的直观展示:https://www.tensorflow.org/guide/graph_viz 直方图信息中心:https://www.tensorflow.org/guide/tensorboard_histogr…
MNIST 数据 train-images-idx3-ubyte.gz:训练集图片 train-labels-idx1-ubyte.gz:训练集图片类别 t10k-images-idx3-ubyte.gz:测试集图片 t10k-labels-idx1-ubyte.gz:测试集图片类别 训练 # 加载训练集和测试集数据 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist =…
tensorflow模型可以利用tf.train.Saver类保存成文件.一个模型包含下面四个文件. meta文件 存储计算图的protobuf. data-00000-of-00001文件和index文件 存储权值和偏置的二进制文件. checkpoint文件 存储模型checkpoint信息的文本文件.…