Pytorch张量

 在conda的环境中安装Jupyter及其他软件包

Pytorch 建立在张量(tensor)之上,Pytorch张量是一个 n 维数组,类似于 NumPy 数组。专门针对GPU设计,可以运行在GPU上以加快计算效率。换句话说,Pytorch张量是可以运行在GPU上的多维数据。

 

目录

基础语法

定义张量数据类型

默认数据类型

指定数据类型

改变张量数据类型

张量与Numpy数组间的转换

将张量转换为 Numpy 数组

将 Numppy 数组转换为张量

在设备间移动张量

默认在CPU上定义张量

定义CUDA设备

将张量移动到CUDA设备

将张量移动到CPU

在任意设备上定义张量


基础语法

Pytorch张量

Numpy数组

torch.ones(.) numpy.ones(.)  创建一个一数组
torch.zeros(.)  numpy.zeros(.) 创建一个零数组
 torch.rand(.) numpy.random.rand(.) 创建随机数组
torch.tensor(.) numpy.array(.)  从给定值创建数组
x.shape or x.size() x.shape 获取数组形状

定义张量数据类型

默认数据类型

默认张量数据类型为 torch.float32

import torch
x = torch.ones(2, 2)
print(x)
print(x.dtype)

 

指定数据类型

x = torch.ones(2, 2, dtype=torch.int8)
print(x)
print(x.dtype)

改变张量数据类型

先定义一个张量,打印其数据类型

x=torch.ones(1)
print(x.dtype)

 通过".type()"命令改变数据类型

x=x.type(torch.torch.uint8)
print(x.dtype)

 可以看到数据类型由torch.float32改变为了torch.uint8

张量与Numpy数组间的转换

将张量转换为 Numpy 数组

 定义一个随机张量

x=torch.rand(2,2)
print(x)
print(x.dtype)

 

通过".numpy()"命令转换为numpy数组

y=x.numpy()
print(y)
print(y.dtype)


将 Numppy 数组转换为张量

定义一个numpy数组

import numpy as np
x=np.zeros((2,2),dtype=np.float32)
print(x)
print(x.dtype)

用".from_numpy()"命令转换为张量

y=torch.from_numpy(x)
print(y)
print(y.dtype)

在设备间移动张量

一般情况下,Pytorch 张量存储在 CPU 上,张量运行在 GPU上 以加快计算速率,这是张量的主要优势。为了有效利用这个优势,需要将张量移动到 CUDA 设备,可以使用 .to 方法将张量移动到相应设备上。 

默认在CPU上定义张量

使用".tensor()"命令,张量一般默认定义在CPU上

x=torch.tensor([1, 1.5])
print(x)
print(x.device)

 

 

定义CUDA设备

if torch.cuda.is_available():
    device=torch.device("cuda:0")
torch.cuda.current_device()

 

 

将张量移动到CUDA设备

x = x.to(device)
print(x)
print(x.device)

 

 

将张量移动到CPU

device = torch.device("cpu")
x = x.to(device)
print(x)
print(x.device)

 

在任意设备上定义张量

device = torch.device("cuda:0")
x = torch.ones(2,2, device=device)
print(x)

 

相关推荐

  1. PyTorch

    2024-07-15 01:58:02       42 阅读
  2. Pytorch广播

    2024-07-15 01:58:02       31 阅读
  3. Pytorch笔记】

    2024-07-15 01:58:02       20 阅读
  4. PyTorch形状

    2024-07-15 01:58:02       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 01:58:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 01:58:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 01:58:02       58 阅读
  4. Python语言-面向对象

    2024-07-15 01:58:02       69 阅读

热门阅读

  1. 数据结构第26节 广度优先搜索

    2024-07-15 01:58:02       18 阅读
  2. 共享云硬盘并发读写之集群文件系统

    2024-07-15 01:58:02       24 阅读
  3. Excel数据处理

    2024-07-15 01:58:02       20 阅读
  4. 虚拟专用网络(VPN)技术的研究与应用

    2024-07-15 01:58:02       20 阅读
  5. 0711,0712,0713 进程,进程之间的通信

    2024-07-15 01:58:02       16 阅读
  6. ZooKeeper实现分布式锁

    2024-07-15 01:58:02       17 阅读
  7. 了解微前端和qiankun

    2024-07-15 01:58:02       19 阅读
  8. Qt易错总结

    2024-07-15 01:58:02       23 阅读
  9. OpenAI 发布官方 .NET 库

    2024-07-15 01:58:02       19 阅读
  10. 技术探索之kotlin浅谈

    2024-07-15 01:58:02       19 阅读
  11. 企业网络安全工具整合与管控建议

    2024-07-15 01:58:02       21 阅读
  12. 构建图像金字塔遍历不同的大小

    2024-07-15 01:58:02       18 阅读
  13. 开源项目有哪些机遇与挑战?

    2024-07-15 01:58:02       21 阅读
  14. GIS就业相关问题快问快答

    2024-07-15 01:58:02       15 阅读
  15. 深入理解CSS中的 :: 和 :

    2024-07-15 01:58:02       23 阅读
  16. 牛客周赛 Round 51

    2024-07-15 01:58:02       20 阅读