详解pytorch tensor和ndarray转换相关总结
作者:再困也得吃 时间:2023-08-18 20:03:51
在使用pytorch的时候,经常会涉及到两种数据格式tensor和ndarray之间的转换,这里总结一下两种格式的转换:
1. tensor cpu 和tensor gpu之间的转化:
tensor cpu 转为tensor gpu:
tensor_gpu = tensor_cpu.cuda()
>>> tensor_cpu = torch.ones((2,2))
tensor([[1., 1.],
[1., 1.]])
>>> tensor_gpu = tensor_cpu.cuda()
tensor([[1., 1.],
[1., 1.]], device='cuda:0')
tensor gpu 转为tensor cpu:
tensor_cpu = tensor_gpu.cuda()
>>> tensor_gpu.cpu()
tensor([[1., 1.],
[1., 1.]])
2. tensor cpu 和 ndarray 之间的转化:
tensor cpu 转为 ndarray:
>>> np_array= tensor_cpu.numpy()
array([[1., 1.],
[1., 1.]], dtype=float32)
ndarray 转为 tensor cpu:
注:ndarray的默认精度为64位,Tensor的默认精度位32位,所以通过Tensor直接转换的话,精度会转换到32位,若通过from_numpy的方式,则会保留原来64位精度
>>> torch.from_numpy(np.ones((2,2)))
tensor([[1., 1.],
[1., 1.]], dtype=torch.float64)
>>> torch.Tensor(np.ones((2,2)))
tensor([[1., 1.],
[1., 1.]])
3. tensor cpu 和 scalar 之间的转化:
如果只是训练了一个简单的分类网络,对单个样本的输出会是一个标量(scalar)
>>>torch.ones((1,1)).item()
1.0
通过一张图说明三者的转化方式:
来源:https://blog.csdn.net/weixin_38208912/article/details/103851366
标签:pytorch,tensor,ndarray
0
投稿
猜你喜欢
django-csrf使用和禁用方式
2023-08-13 15:13:34
pywinauto自动化测试使用经验
2022-12-21 02:36:10
详解vue-cli下ESlint 配置说明
2024-05-02 16:34:31
Golang中的错误处理深入分析
2024-02-18 20:59:46
浅谈Python对内存的使用(深浅拷贝)
2021-06-08 03:07:35
Python 如何实现批量转换视频音频的采样率
2022-06-30 11:16:46
Python statistics模块示例详解
2023-01-27 11:49:47
Firefox 下 innerHTML 的一个 BUG
2008-08-05 18:19:00
smarty模板嵌套之include与fetch性能测试
2024-05-03 15:49:53
thinkphp模板赋值与替换实例简述
2024-05-03 15:51:42
Python可视化神器pyecharts绘制水球图
2023-10-07 14:19:41
SQL2005Express中导入ACCESS数据库的两种方法
2024-01-24 04:05:30
用VB将ASP代码封装成DLL
2007-09-28 12:46:00
MySQL高效模糊搜索之内置函数locate instr position find_in_set使用详解
2024-01-27 00:03:23
python正则实现提取电话功能
2022-04-30 03:32:46
Python调用Tkinter示例浅析
2022-04-30 02:53:32
vue地区选择组件教程详解
2023-07-02 16:49:48
python 控制语句
2022-09-19 08:12:02
详解字符串在Python内部是如何省内存的
2021-04-19 08:19:42
Golang实现短网址/短链服务的开发笔记分享
2024-02-08 15:37:18