pytorch和tensorflow的爱恨情仇之基本数据类型:https://www.cnblogs.com/xiximayou/p/13759451.html

pytorch版本:1.6.0

tensorflow版本:1.15.0

基本概念:标量、一维向量、二维矩阵、多维张量。

1、pytorch中的张量

(1)通过torch.Tensor()来建立常量

这里有两种张量,一种是直接通过toch.Tensor()建立的,另一种是 Variable()建立的,它们的区别是:在新版本的torch中可以直接使用tensor而不需要使用Variable。

在旧版本中Variable和Tensor的区别在于,Variable可以进行误差的反向传播,而Tensor不可以。

Variable默认的requires_grad也是False。

我们接下来看看使用torch.Tensor()来看看例子:

对于常量,是不能够在声明指定其需要梯度计算的,如下所示:

为什么使用torch.Tensor()不可以直接指明requires_grad=True呢,但是可以通过显示指定a.requires_grad=True。我的理解是常量和变量之间是可以互相转换的,当将requires_grad通过(数据.requires_grad=True)后,该常量已经变成了变量。

(2)通过from torch.autograd import Variable来建立变量

我们传入的值就不能是一个列表了,需要一个张量,我们可以这么做:

这也可以说明常量是可以转换为变量的。但需要注意的是由常量转换而来的变量就不是原来的常量了:

(3) 通过torch.tensor()更加灵活的建立常量和变量

我们还需要注意的是使用torch,Tensor()和torch.tensor()以及Variable()区别:这里可以直接传入一个列表啦

我们也可以直接使用torch.tensor()来定义一个变量,通过指定requires_grad来标明该变量是否能够进行梯度计算并进行更新。

2、tensorflow中的张量

在tensorflow中,可以通过tf.consatnt()和tf.Variable()来建立张量,与pytorch旧版本类似的是,tf.constant()对应torch.Tensor(),tf.Variable()对应torch.Variable(),tf.constant创建的是常数,tf. Variable创建的是变量。变量属于可训练参数,在训练过程中其值会持续变化,也可以人工重新赋值,而常数的值自创建起就无法改变。

其中tf.assign()是将b的值赋值给a,因为a是常量,因此不可改变,就会报该错误,再看下面一个例子:

我们将10赋值给state,然后新建了一个变量state_。state是一个变量,这样是没有问题的,这样的话在训练的过程中我们就可以不断地更新参数了。 再看一个例子:

在这种情况下,我们仅仅只是将a指向的值改为指向b,并没有真正修改a的值。

如果我们像pytorch那样将常量转换为变量:

会发现,其实是新建了一个变量,并不是将原始的常量变为了变量、

如果有什么错误还请指出,有什么遗漏的还请补充,会进行相应的修改。

pytorch和tensorflow的爱恨情仇之张量的更多相关文章

  1. pytorch和tensorflow的爱恨情仇之定义可训练的参数

    pytorch和tensorflow的爱恨情仇之基本数据类型 pytorch和tensorflow的爱恨情仇之张量 pytorch版本:1.6.0 tensorflow版本:1.15.0 之前我们就已 ...

  2. pytorch和tensorflow的爱恨情仇之参数初始化

    pytorch和tensorflow的爱恨情仇之基本数据类型 pytorch和tensorflow的爱恨情仇之张量 pytorch和tensorflow的爱恨情仇之定义可训练的参数 pytorch版本 ...

  3. pytorch和tensorflow的爱恨情仇之基本数据类型

    自己一直以来都是使用的pytorch,最近打算好好的看下tensorflow,新开一个系列:pytorch和tensorflow的爱恨情仇(相爱相杀...) 无论学习什么框架或者是什么编程语言,最基础 ...

  4. pytorch和tensorflow的爱恨情仇之一元线性回归例子(keras插足啦)

    直接看代码: 一.tensorflow #tensorflow import tensorflow as tf import random import numpy as np x_data = np ...

  5. Menu与ActionBar的爱恨情仇

    最近在开发一款音乐播放器,在开发过程中遇到了一点小麻烦,通过android API搞清楚了Menu与ActionBar的爱恨情仇,写了个小Demo祭奠一下那些年我们陷进去的坑,有不对的地方请大神们批评 ...

  6. web移动端fixed布局和input等表单的爱恨情仇 - 终极BUG,完美解决

    [问题]移动端开发,ios下当fixed属性和输入框input(这里不限于input,只要可以调用移动端输入法的都包括,如:textarea.HTML5中contenteditable等),同时存在的 ...

  7. 注解:大话AOP与Android的爱恨情仇

    转载:大话AOP与Android的爱恨情仇 1. AOP与OOP的区别 平时我接触多的就是OOP(Object Oriented Programming面向对象).AOP(Aspect Oriente ...

  8. 除了love和hate,还能怎么表达那些年的“爱恨情仇”?

    实用英语 帮你全面提高英语水平 关注 童鞋们每次刷美剧的时候,相信都会被CP感满满的男女主角虐得体无完肤吧. 可是,一到我们自己表达爱意或者恨意的时候,却苦于词穷,只会用love, like, hat ...

  9. 对json的爱恨情仇

    本文回想了对json的爱恨情仇. C++有风险,使用需慎重. 本文相关代码在:http://download.csdn.net/detail/baihacker/7862785 当中的測试数据不在里面 ...

随机推荐

  1. Android开发之 当前日期String类型转date类型 java代码中实现方法

    /** * 获取当前时间 * * @return */ public Date getDate(String str) { try { java.text.SimpleDateFormat forma ...

  2. 如何解决SpringBoot工程中的错误:java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required

    出错原因:MySQL依赖及MySQL驱动包高于在使用的MySQL数据库版本. 比如,我本地数据库版本是:Server version: 5.2.3-falcon-alpha-community-nt ...

  3. 写Junit测试时用Autowired注入的类实例始终为空怎么解?

    踩坑半天多,终于在网上寻觅到了解决方案,特此分享一下. 重要前提:src/main/java下的根包名必须和src/test/main的根包名完全一致,否则就会发生死活不能注入的情况,要继续进行下面的 ...

  4. springboot x.x.x RELEASE pom 第一行报错解决办法

    springboot x.x.x RELEASE pom 第一行报错解决办法 在pom.xml 文件的properties中加入maven jar插件的版本号 <properties> & ...

  5. leetcode刷题-51N皇后

    题目 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案. 每一种解法包含一个明确的 n 皇后问 ...

  6. python模块hashlib、xlwt、pymysql

    一.xlwt xlwt是python第三方模块,主要是对excel的写操作.xlwt使用时必须先安装. 1.安装 在操作系统的cmd窗口输入pip install xlwt回车即可在线安装. 安装完成 ...

  7. Docker 学习笔记一

    Docker 学习笔记一 1.Docker是什么?         Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源.让开发者打包他们的应用以及依赖包到一 ...

  8. springBoot 使用webSocket

    本文(2019年6月18日 飞快的蜗牛博客) 有许多人走着走着,就迷失了自己,所以不论发生了什么,有时候抱着自己去静下来想想,要好好的对待自己:"钱塘江上潮信来,今日方知我是我", ...

  9. Python数据类型方法整理

      前言:主要是对Python数据类型做一个整理,部分知识点源于<python3程序开发指南(第二版)>   一.Python的关键要素 1.1 要素1:数据类型  int类型 str类型 ...

  10. python 手把手教你基于搜索引擎实现文章查重

    前言 文章抄袭在互联网中普遍存在,很多博主都收受其烦.近几年随着互联网的发展,抄袭等不道德行为在互联网上愈演愈烈,甚至复制.黏贴后发布标原创屡见不鲜,部分抄袭后的文章甚至标记了一些联系方式从而使读者获 ...