当前位置: 首页 > article >正文

pytorch 张量创建基础

在默认情况下,torch.tensor 会在 CPU 上创建张量。以下是一个简单的示例:

import torch

# 使用 torch.tensor 创建一个张量
tensor_cpu = torch.tensor([1, 2, 3])
print("张量所在设备:", tensor_cpu.device)

在上述代码中,通过 torch.tensor 创建了一个张量 tensor_cpu,并使用 tensor_cpu.device 查看该张量所在的设备,输出结果通常为 cpu,这表明张量是在 CPU 上创建的。

将张量移动到 GPU
如果你希望将 torch.tensor 创建的张量放到 GPU 上,可以使用以下几种方法:

1 在创建时指定设备

import torch

# 检查是否有可用的 GPU
if torch.cuda.is_available():
    # 在 GPU 上创建张量
    tensor_gpu = torch.tensor([1, 2, 3], device='cuda')
    print("张量所在设备:", tensor_gpu.device)
else:
    print("没有可用的 GPU")

2 创建后移动到 GPU

# 在 CPU 上创建张量
tensor_cpu = torch.tensor([1, 2, 3])

# 检查是否有可用的 GPU
if torch.cuda.is_available():
    # 使用 to 方法将张量移动到 GPU
    tensor_gpu_1 = tensor_cpu.to('cuda')
    print("使用 to 方法移动后张量所在设备:", tensor_gpu_1.device)

    # 使用 cuda 方法将张量移动到 GPU
    tensor_gpu_2 = tensor_cpu.cuda()
    print("使用 cuda 方法移动后张量所在设备:", tensor_gpu_2.device)
else:
    print("没有可用的 GPU")

多 GPU 情况

import torch

# 检查是否有可用的 GPU
if torch.cuda.is_available():
    # 在第二个 GPU 上创建张量(GPU 编号从 0 开始)
    tensor_gpu = torch.tensor([1, 2, 3], device='cuda:1')
    print("张量所在设备:", tensor_gpu.device)
else:
    print("没有可用的 GPU")

在这段代码中,使用 device=‘cuda:1’ 将张量创建在了编号为 1 的 GPU 上。
综上所述,torch.tensor 默认在 CPU 上创建张量,但可以通过指定 device 参数或使用 to、cuda 方法将张量放到 GPU 上。


http://www.kler.cn/a/521438.html

相关文章:

  • 具身智能体空间感知基础!ROBOSPATIAL:评测并增强2D和3D视觉语言模型空间理解水平
  • 列表(列表是什么)
  • 探索AI(chatgpt、文心一言、kimi等)提示词的奥秘
  • 最新-CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机
  • C++ 静态变量static的使用方法
  • 17 一个高并发的系统架构如何设计
  • 关于pygame窗口输入法状态异常切换现象的分析报告
  • 每日 Java 面试题分享【第 11 天】
  • SSM开发(四) spring+SpringMVC+mybatis整合(含完整运行demo源码)
  • PHP htmlspecialchars()函数详解
  • javascript-es6 (二)
  • 深度学习,python编程运行环境问题等记录(更新)
  • DistilBERT 是 BERT 的精简版本,具有更小、更快、更经济、更轻便的特点。
  • SD-WAN站点和客户端的区别
  • VS Code i18n国际化组件代码code显示中文配置 i18n ally
  • toRow和markRow的用法以及使用场景
  • K8s运维管理平台 - KubeSphere 3.x 和4.x 使用分析:功能较强,UI美观
  • 【Java-数据结构】Java 链表面试题上 “最后一公里”:解决复杂链表问题的致胜法宝
  • 深圳大学-智能网络与计算-实验三:网络容量优化分析实验
  • 【2024年华为OD机试】 (B卷,100分)- 阿里巴巴找黄金宝箱(III)(JavaScriptJava PythonC/C++)
  • 超硬核,基于mmap和零拷贝实现高效的内存共享
  • 计算机图形学知识点整理(期末复习/知识点学习/笔试/面试)
  • DDD-事件风暴
  • 机器学习 - 初学者需要弄懂的一些线性代数的概念
  • Alfresco Content Services dockerCompose自动化部署详尽操作
  • 使用scikit-learn中的线性回归包对自定义数据集进行拟合