pytorch使用 to 进行类型转换方式

yipeiwu_com6年前Python基础

在程序中,有多种方法进行强制类型转换。

本博文将介绍一个非常常用的方法:to()方法。

我们通常使用它来进行GPU和CPU的类型转换,但其实也可以用来进行torch的dtype转换。

常见方法:tensor.to(‘cuda:0')

先看官网介绍:

**Performs Tensor dtype and/or device conversion. A torch.dtype and torch.device are inferred from the arguments of self.to(*args, kwargs).

本文举一个例子,将一个tensor转化成与另一个tensor相同的数据类型和相同GPU或CPU类型

import torch

device = 'cuda:0'

a = torch.zeros(2, 3)
print(type(a))

b = torch.ones(3, 4).to(device)
print(type(b))

c = torch.matmul(a, b)
print(type(c))

我们看到这个代码会出错的。因为a和b是不同的device,一个是CPU,一个是GPU,不能运行。

修改如下:

a = a.to(b)
d = torch.matmul(a, b)
print(type(d))

可以看到to还是很好用的,尤其是不确定我们的数据类型和device时。

其实pytorch中还有很多其他方法可以这么做,以后会继续介绍。

以上这篇pytorch使用 to 进行类型转换方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python3编码问题汇总

python3编码问题汇总

这两天写了个监测网页的爬虫,作用是跟踪一个网页的变化,但运行了一晚出现了一个问题。。。。希望大家不吝赐教! 我用的是python3,错误在对html response的decode时抛出...

Python基础语言学习笔记总结(精华)

Python基础语言学习笔记总结(精华)

以下是Python基础学习内容的学习笔记的全部内容,非常的详细,如果你对Python语言感兴趣,并且针对性的系统学习一下基础语言知识,下面的内容能够很好的满足你的需求,如果感觉不错,就收...

python利用OpenCV2实现人脸检测

python利用OpenCV2实现人脸检测

最近,带领我的学生进行一个URTP项目设计,需要进行人脸识别。由于现在的OpenCV已经到了2.X版本,因此就不想用原来的1.X版本的代码,而网上存在的代码都是1.X版本的代码,尝试自己...

python celery分布式任务队列的使用详解

python celery分布式任务队列的使用详解

一、Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考...

Python 获取命令行参数内容及参数个数的实例

执行python脚本的时候,有时需要获取命令行参数的相关信息。C语言通过argc和argv来获取参数的个数和参数的内容,python中通过sys模块的argv来获取参数的内容,使用len...