2、PyTorch张量的运算API(上)

1. 教学视频

2、PyTorch张量的运算API(上)

  • 因比较忙,暂时就做个过场吧。

2. Python代码

  • Python
python 复制代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName  :torch_learn2.py
# @Time      :2024/11/16 19:53
# @Author    :Jason Zhang

import torch

torch.manual_seed(12124)

if __name__ == "__main__":
    run_code = 0
    a = torch.rand([3, 2])
    a_chunk1, a_chunk2 = torch.chunk(a, chunks=2)
    a_chunk11, a_chunk21 = torch.chunk(a, chunks=2, dim=1)
    print(f"a=\n{a}")
    print(f"a_chunk1=\n{a_chunk1}")
    print(f"a_chunk2=\n{a_chunk2}")
    print(f"a_chunk11=\n{a_chunk11}")
    print(f"a_chunk21=\n{a_chunk21}")
    t = torch.tensor([[1, 2], [3, 4]])
    t_gather = torch.gather(t, 1, torch.tensor([[0, 1], [1, 0]]))
    print(f"t=\n{t}")
    print(f"t_gather=\n{t_gather}")
    reshape_12 = torch.arange(12).reshape((3, 4))
    print(f"reshape_12=\n{reshape_12}")
    reshape_11 = reshape_12.reshape((-1, 1))
    print(f"reshape_11=\n{reshape_11}")
    src = torch.arange(1, 11).reshape((2, 5))
    index = torch.tensor([[0, 1, 2, 0]])
    y = torch.zeros(3, 5, dtype=src.dtype).scatter_(0, index, src)
    print(f"src=\n{src}")
    print(f"y=\n{y}")
    stack_a = torch.rand((3, 4))
    stack_b = torch.rand((3, 4))
    stack_ab = torch.stack((stack_a, stack_b))
    print(f"stack_a=\n{stack_a}")
    print(f"stack_b=\n{stack_b}")
    print(f"stack_ab=\n{stack_ab},shape={stack_ab.shape}")
    squeeze_1 = torch.rand((2, 1, 3))
    squeeze_2 = torch.squeeze(squeeze_1)
    print(f"squeeze_1.shape={squeeze_1.shape}")
    print(f"squeeze_2.shape={squeeze_2.shape}")
  • 结果:
python 复制代码
a=
tensor([[0.5555, 0.0484],
        [0.3199, 0.2577],
        [0.8874, 0.6888]])
a_chunk1=
tensor([[0.5555, 0.0484],
        [0.3199, 0.2577]])
a_chunk2=
tensor([[0.8874, 0.6888]])
a_chunk11=
tensor([[0.5555],
        [0.3199],
        [0.8874]])
a_chunk21=
tensor([[0.0484],
        [0.2577],
        [0.6888]])
t=
tensor([[1, 2],
        [3, 4]])
t_gather=
tensor([[1, 2],
        [4, 3]])
reshape_12=
tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]])
reshape_11=
tensor([[ 0],
        [ 1],
        [ 2],
        [ 3],
        [ 4],
        [ 5],
        [ 6],
        [ 7],
        [ 8],
        [ 9],
        [10],
        [11]])
src=
tensor([[ 1,  2,  3,  4,  5],
        [ 6,  7,  8,  9, 10]])
y=
tensor([[1, 0, 0, 4, 0],
        [0, 2, 0, 0, 0],
        [0, 0, 3, 0, 0]])
stack_a=
tensor([[0.2410, 0.9222, 0.5832, 0.3587],
        [0.9344, 0.3320, 0.3852, 0.3239],
        [0.7664, 0.9575, 0.2645, 0.5601]])
stack_b=
tensor([[0.4304, 0.7509, 0.3536, 0.7229],
        [0.9026, 0.0793, 0.3076, 0.3272],
        [0.4434, 0.2406, 0.7080, 0.9304]])
stack_ab=
tensor([[[0.2410, 0.9222, 0.5832, 0.3587],
         [0.9344, 0.3320, 0.3852, 0.3239],
         [0.7664, 0.9575, 0.2645, 0.5601]],

        [[0.4304, 0.7509, 0.3536, 0.7229],
         [0.9026, 0.0793, 0.3076, 0.3272],
         [0.4434, 0.2406, 0.7080, 0.9304]]]),shape=torch.Size([2, 3, 4])
squeeze_1.shape=torch.Size([2, 1, 3])
squeeze_2.shape=torch.Size([2, 3])

Process finished with exit code 0
相关推荐
开心-开心急了4 小时前
Flask入门教程——李辉 第5章: 数据库 关键知识梳理
笔记·后端·python·flask·1024程序员节
CodeCraft Studio5 小时前
国产化Excel开发组件Spire.XLS教程:在Python中将Pandas DataFrame导出到Excel的详细教程
python·excel·pandas
B站_计算机毕业设计之家5 小时前
python舆情分析可视化系统 情感分析 微博 爬虫 scrapy爬虫技术 朴素贝叶斯分类算法大数据 计算机✅
大数据·爬虫·python·scrapy·数据分析·1024程序员节·舆情分析
B站_计算机毕业设计之家5 小时前
基于python人脸识别系统 人脸检测 实时检测 深度学习 Dlib库 ResNet深度卷积神经网络 pyqt设计 大数据(源码)✅
python·深度学习·目标检测·计算机视觉·信息可视化·人脸识别·1024程序员节
汤姆yu6 小时前
2026版基于python大数据的电影分析可视化系统
大数据·python·1024程序员节·电影分析可视化
Pa2sw0rd丶6 小时前
Python 循环导入详解:为什么会导致生产环境崩溃及企业级解决方案
后端·python
梨轻巧6 小时前
Maya Python入门:创建locator、getAttr() 获取属性、setAttr() 设置属性、定位xform()
python·maya
Xxxx. .Xxxx6 小时前
Classwork 5 - Check the HTML Tags
python
程序员大雄学编程7 小时前
「用Python来学微积分」11. 夹逼定理与单调有界收敛定理
python·数学·微积分·1024程序员节
deephub7 小时前
vLLM 性能优化实战:批处理、量化与缓存配置方案
人工智能·python·大语言模型·1024程序员节·vllm