torch中的copy()和clone()

1、torch中的copy()和clone()

y = torch.Tensor(2,2):copy(x) ---
1

修改y并不改变原来的x

y = x:clone()
1

修改y也不改变x

y = x
1

修改y这个时候就开始改变x了
注意,官网中Returns a clone of a tensor. The memory is copied.内存被复制,也即重新分配了一份内存个y,所以y改变x不改变,对于copy是一样的.copy允许复制的维度不一样,但是元素个数必须是相同的。
对于Python中的深浅拷贝之类的,看连接链接
Python中的拷贝来讲,例子如下

对于数字赋值和列表赋值是有很大区别的

torch中对于直接赋值的这种操作一定要小心,先看看是不是需要直接赋值,还是重新开辟一块内存来存放
2
torch中的type()函数,如果没有传入参数,表示查看Tensor的数据类型
如果传入了参数,表示将Tensor转换为想要的数据类型,数据类型由参数来指定

3 torch中的image的scale函数也是输入参数不同最后的scale方法也是不同的,参考下图说明

4、torch中的Tensor所有操作例如narrow等操作,都是在原来的Tensor的基础上进行的,所以如果想要真正的复制一个Tensor就用copy和clone,如果用narrow这种操作之后经常会导致内存不连续,导致后面很多操作失效,这时候用copy和clone复制一下即可。
---------------------
作者:枯叶蝶KYD
来源:CSDN
原文:https://blog.csdn.net/u013548568/article/details/79145401
版权声明:本文为博主原创文章,转载请附上博文链接!

torch中的copy()和clone()的更多相关文章

  1. datatable中的copy和clone的用法区分

    dt.copy();//复制结构和数据 dt.clone();//仅复制结构,不复制数据

  2. torch中的多线程threads学习

    torch中的多线程threads学习 torch threads threads 包介绍 threads package的优势点: 程序中线程可以随时创建 Jobs被以回调函数的形式提交给线程系统, ...

  3. 以简单的例子谈一下C#中的COPY

    周五晚上加班的时候做一堆ComboBox直接的联动,然后呢,这些cbo的DataSource都是同一个DataTable,当时写代码的时候求快也就没有太注意DataTable的绑定,然后就出了一些小问 ...

  4. C++中实现对象的clone()

    在C#中,许多对象自动实现了clone函数,在C++中,要拷贝一个对象,除了自定义一个拷贝构造函数来实现对象复制外,还可以像C#中那样实现一个clone函数,这需要借助编译器实现的一个隐藏拷贝构造函数 ...

  5. (原)torch中微调某层参数

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6221664.html 参考网址: https://github.com/torch/nn/issues ...

  6. Objective-C中的copy协议

    NSObject对象是否可以copy自己 NSObject类没有实现NSCopying或者NSMutableCopying协议,但是却有copy以及mutableCopy实例方法.然而,如果用NSOb ...

  7. c#中命令copy已退出,返回值为1

    c#中命令copy已退出,返回值为1 本正经的道:董姐刚才你说的修心养性其中的'修心'我 有孕在身刚好由戴梦瑶顶替了她的位置按照的指示 ╋旆呆 湎术葶页 邾箕砜笳 烦璜卿廑 奶奶个腿儿的等下次非让你 ...

  8. OC中的copy

    copy的概念 Copy的字面意思是"复制"."拷贝",是一个产生副本的过程 对象拷贝的目的:要使用某个对象的数据,但是在修改对象的时候不影响原来的对象内容,常 ...

  9. Dockerfile 中的 COPY 与 ADD 命令

    Dockerfile 中提供了两个非常相似的命令 COPY 和 ADD,本文尝试解释这两个命令的基本功能,以及其异同点,然后总结其各自适合的应用场景. Build 上下文的概念 在使用 docker ...

随机推荐

  1. JZOJ 平衡的子集

    Description 夏令营有N个人,每个人的力气为M(i).请大家从这N个人中选出若干人,如果这些人可以分成两组且两组力气之和完全相等,则称为一个合法的选法,问有多少种合法的选法? Input 第 ...

  2. TSP

    #include <iostream> #include <limits.h> #include <string.h>; using namespace std; ...

  3. arcgis访问百度地图

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. Struts framework

    Struts功能详解——ActionMapping对象 Struts旅程(一)Struts简介和原理 实例讲解DispatchAction和LookupDispatchAction DispatchA ...

  5. hive-oracle-常用分析函数-窗口函数

    常用的分析函数如下所列: row_number() over(partition by ... order by ...)rank() over(partition by ... order by . ...

  6. ajax多图片上传demo

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...

  7. 2019-5-13-WPF-从触摸消息转触摸事件

    title author date CreateTime categories WPF 从触摸消息转触摸事件 lindexi 2019-05-13 09:43:48 +0800 2019-05-12 ...

  8. day39 09-Spring的AOP:基于AspectJ的通知类型

     AspectJ的六种通知的类型,最后一种不讲,只讲前五种.  环绕通知是可以阻止目标方法执行的. <?xml version="1.0" encoding="UT ...

  9. C++ 引用#include<math.h> 找不到动态库

    问题: 使用g++ 编译C++文件报错了,无法识别abs,可是我这文件中已经添加了#include<math.h>? 于是在指令中加入-lm g++ main.cpp AStar.cpp ...

  10. python三种导入模块的方法和区别

    方法一: import modname 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段.只要导入了一个模块,就可以引用它的任何公共的函数.类或属性.模块可以通过这种方法来 使用其它 ...