人工智能之PyTorch数据操作-Python版

PyTorch数据操作

# 导入PyTorch
import torch

[张量表示一个由数值组成的数组,这个数组可能有多个维度]。

具有一个轴的张量对应数学上的向量(); 具有两个轴的张量对应数学上的矩阵(matrix); 具有两个轴以上的张量没有特殊的数学名称。

首先,我们可以使用 arange 创建一个行向量 x。这个行向量包含以0开始的前12个整数,它们默认创建为整数。也可指定创建类型为浮点数。张量中的每个值都称为张量的 元素(element)。例如,张量 x 中有 12 个元素。除非额外指定,新的张量将存储在内存中,并采用基于CPU的计算。

x = torch.arange(15)
x 
#:tensor([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 13, 14])

[可以通过张量的shape属性来访问张量(沿每个轴的长度)的*形状*] (和张量中元素的总数)。

x.shape
#:torch.Size([15])

如果只想知道张量中元素的总数,即形状的所有元素乘积,可以检查它的大小(size)。 因为这里在处理的是一个向量,所以它的shape与它的size相同。

x.numel()
#:15

[要想改变一个张量的形状而不改变元素数量和元素值,可以调用reshape函数。] 例如,可以把张量x从形状为(12,)的行向量转换为形状为(3,4)的矩阵。 这个新的张量包含与转换前相同的值,但是它被看成一个3行4列的矩阵。 要重点说明一下,虽然张量的形状发生了改变,但其元素值并没有变。 注意,通过改变张量的形状,张量的大小不会改变。

X = x.reshape(3,5)
X
#:
tensor([[ 0,  1,  2,  3,  4],[ 5,  6,  7,  8,  9],[10, 11, 12, 13, 14]])

我们不需要通过手动指定每个维度来改变形状。 也就是说,如果我们的目标形状是(高度,宽度), 那么在知道宽度后,高度会被自动计算得出,不必我们自己做除法。 在上面的例子中,为了获得一个3行的矩阵,我们手动指定了它有3行和4列。 幸运的是,我们可以通过-1来调用此自动计算出维度的功能。 即我们可以用x.reshape(-1,4)x.reshape(3,-1)来取代x.reshape(3,4)

有时,我们希望[使用全0、全1、其他常量,或者从特定分布中随机采样的数字]来初始化矩阵。 我们可以创建一个形状为(2,3,4)的张量,其中所有元素都设置为0。代码如下:

torch.zeros((2,3,4))
#:
tensor([[[0., 0., 0., 0.],[0., 0., 0., 0.],[0., 0., 0., 0.]],
​[[0., 0., 0., 0.],[0., 0., 0., 0.],[0., 0., 0., 0.]]])

同样,我们可以创建一个形状为(2,3,4)的张量,其中所有元素都设置为1。代码如下:

torch.ones((2,3,4))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/112623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

给定一个文件夹,不允许用递归,统计其下面的文件数量,包括子文件夹下面的文件

对于统计一个文件夹下面的文件的数量,大家第一反应肯定是递归调用来实现,现在有这么一个目录结构:root1和root2下面各有一个文件file1.txt和file2.txt,所以最终统计出来的文件数量应该是3 我们先看看递归实现: public …

[论文笔记] SurroundOcc: Multi-Camera 3D Occupancy Prediction for Autonomous Driving

Wei, Yi, et al. “Surroundocc: Multi-camera 3d occupancy prediction for autonomous driving.” Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023. 重点记录 将占用网格应用到多个相机构成的3D空间中; 使用BEVFormer中的方法获取3D特征, …

20231020刷题记录

P3915 树的分解 DFS 维护每棵树的子树大小&#xff0c;如果统计到 s i z x k siz_xk sizx​k&#xff0c;那么重新将 s i z x siz_x sizx​ 归零继续统计。 注意要输入完了再特判&#xff0c;双向边要开两倍数组。 #include <bits/stdc.h> using namespace std;const …

Sourcetree突然打不开,双击打开,图片闪一下就没反应了

解决方案如下&#xff1a; 1.点击图标&#xff0c;右键点击“打开文件所在位置 2.返回上一级&#xff0c;找到Atlassian文件夹 3.进入此文件夹下&#xff0c;删除SourceTree.exe_Url文件夹 4.再双击桌面的Sourcetree图标&#xff0c;可以正常打开。 最近刚遇到此问题&#x…

Linux简单安装ffmpeg 实现用PHP压缩音频

一、下载安装 1、官方下载地址&#xff1a;Download FFmpeg 2、下载完上传到服务器然 然后解压就算安装完成了 tar -xf ffmpeg-git-amd64-static.tar.xz 3、然后配置一下全局变量&#xff08;当然也可以不用配置 使用的时候带上文件路径就行&#xff09; cd /usr/bin ln -s…

如何实现前端音频和视频播放?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

编译[Bug]——too few arguments for template template parameter “Tuple“ detected

项目场景&#xff1a; 当使用高版本的cuda去安装低版本pytorch&#xff0c;并且编译用低版本pytorch写的cuda算子时&#xff0c;或者说是VS的版本过高如2022和2019&#xff0c;都有可能会出现某个.h文件或者.c文件报错&#xff0c;如&#xff1a; error: too few arguments f…

基于TCP的RPC服务

TCP服务器上的RPC&#xff0c;通过创建一个服务器进程监听传入的tcp连接&#xff0c;并允许用户 通过此TCP流执行RPC命令 -module(tr_server). -author("chen"). -behaviour(gen_server).%% API -export([start_link/1,start_link/0,get_count/0,stop/0 ]).-export(…

系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第一部分:通信协议(2)

本心、输入输出、结果 文章目录 系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第一部分&#xff1a;通信协议&#xff08;2&#xff09;前言SOAP vs REST vs GraphQL vs RPC代码优先与 API 优先HTTP 状态代码API 网关有什么作用步骤说明 我们如何设计有效和安全的 API弘…

多线程抽象知识汇总

文章目录 本日鸡汤锁策略1. 乐观锁和悲观锁2. 轻量级锁和重量级锁3. 自旋锁和挂起等待锁4. 互斥锁和读写锁5. 公平锁和非公平锁6. 可重入锁和非重入锁.7. synchronized锁CAS原子类自旋锁ABA问题synchronized 锁优化1. 锁升级/锁膨胀2. 锁消除3. 锁粗化Java.util.Concurrle(JUC)…

2048天创作纪念日

2048天创作纪念日 初心收获日常成就憧憬 初心 大一的时候&#xff0c;老师上课说可以通过浏览他人博客或者自己写博客来学习编程。从那以后&#xff0c;写博客这件事情就埋在了我心里&#xff0c;但是我一直没有什么内容想写。直到入选了ACM校队后&#xff0c;需要经常做大量的…

JS数组方法合集(含应用场景)

1.Array.push() 向数组的末尾添加一个或多个元素&#xff0c;并返回新的数组长度。原数组改变 const arr ["apple", "orange", "grape"]; const arr_length arr.push("banana");console.log("arr", arr, "arr_leng…

SpringCloud: sentinel链路限流

一、配置文件要增加 spring.cloud.sentinel.webContextUnify: false二、在要限流的业务方法上使用SentinelResource注解 package cn.edu.tju.service;import com.alibaba.csp.sentinel.annotation.SentinelResource; import com.alibaba.csp.sentinel.slots.block.BlockExcept…

全球剥离抗蚀液行业总体规模、主要厂商及IPO上市调研报告,2023-2029

报告摘要 根据本项目团队最新调研&#xff0c;预计2029年全球剥离抗蚀液产值达到 百万美元&#xff0c;2023-2029年期间年复合增长率CAGR为 %。 本文研究全球剥离抗蚀液总体规模&#xff0c;包括产量、产值、消费量、主要生产地区、主要生产商及市场份额&#xff0c;是一份详细…

vuex报错 Cannot destructure property ‘commit‘ of ‘undefined

在使用vuex中的模块是遇到了一个报错&#xff0c;这个报错的意思是解构一个未定义的对象时发生的。 经过排查发现是在另一个模块的actions中调用了当前模块actions中的方法&#xff0c;没有传任何值&#xff0c;所以无法结构出来commit方法 原代码 //user.js actions: { asy…

图像处理软件Photoshop 2023 mac新增功能 ps 2023中文版

​Photoshop 2023 mac是一款功能强大、易用且灵活的图像编辑软件&#xff0c;旨在满足专业设计师和摄影师的需求。无论您是处理照片、制作图形还是进行艺术创作&#xff0c;Photoshop 2023 都能为您提供丰富的工具和效果&#xff0c;帮助您实现创意想法。Photoshop还支持多种文…

nodejs+vue中学信息技术线上学习系统-计算机毕业设计

因此&#xff0c;将现代化的计算机技术、网络技术以及多媒体等技术相结合&#xff0c;开发基于互联网的自主学习平台&#xff0c;为学生提供良好的自主学习环境&#xff0c;方便学生能够网上学习&#xff0c;师生通过该平台可以进行课后交流。目 录 摘 要 I ABSTRACT II 目 录 …

vue2技能树(6)-事件处理和表单输入绑定

目录 Vue 2 事件处理详解监听事件项目示例 事件修饰符项目示例 内联事件处理项目示例 事件对象项目示例 事件修饰符项目示例 Vue 2 表单输入绑定详解双向数据绑定项目示例 单选框和复选框项目示例 下拉框项目示例 .lazy 修饰符项目示例 &#x1f44d; 点赞&#xff0c;你的认可…

Linux系统之passwd命令的基本使用

Linux系统之passwd命令的基本使用 一、passwd命令介绍1.1 passwd命令简介1.2 passwd命令起源 二、passwd命令的使用帮助2.1 passwd命令的help帮助信息2.2 passwd命令的语法解释 三、查看passwd相关文件3.1 查看用户相关文件3.2 查看组相关文件 四、passwd命令的基本使用4.1 设置…

零信任身份管理平台,构建下一代网络安全体系

随着数字化时代的到来&#xff0c;网络安全已成为企业和组织面临的一项重要挑战。传统的网络安全方法已经无法满足不断演变的威胁和技术环境。近期&#xff0c;中国信息通信研究院&#xff08;简称“中国信通院”&#xff09;发布了《零信任发展研究报告&#xff08; 2023 年&a…