pytorch 入门1-tensor 广播 view reshape

  • tensor 的四则运算
  • broadcast
import torch
import numpy as np
# 张量tensor  随机初始化
x = torch.rand(4,3)
print(x)
y =torch.randn(4,3)
print(y)
# 初始化全零 张量
a = torch.zeros((4,4),dtype=torch.long)
print(a)
#初始化全一 张量
b = torch.ones(4,4)
print(b)
c = torch.tensor(np.ones((2,3),dtype='int32'))
print(c)

常见的构造Tensor的方法:
在这里插入图片描述

# tensor 的基本操作
# 加法
print(a+b)
# add_ = replace in 操作
y = a.add_(3)
print(y)

out:

tensor([[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.]])
tensor([[3, 3, 3, 3],[3, 3, 3, 3],[3, 3, 3, 3],[3, 3, 3, 3]])
#索引操作
x = torch.rand(3,4)
print(x)
# 第二列
print(x[:,1])
# 第二行
print(x[1,:])
#维度变换 张量的维度变换常见的方法有torch.view()和torch.reshape()
x = torch.randn(4,3)
y = x.view(12)
z = x.view(-1,6)
print(x.size(),y.size(),z.size())
print(x)
print(z)
# 最后x tensor size 没有发生改变
#view()仅仅是改变了对这个张量的观察角度
print(x)
#我们希望原始张量和变换后的张量互相不影响。
#为了使创建的张量和原始张量不共享内存,我们需要使用第二种方法torch.reshape(), 
#同样可以改变张量的形状,但是此函数并不能保证返回的是其拷贝值,所以官方不推荐使用
a = torch.randn(4,4)
b = a.reshape(2,8)
print(a)
print(b)
#广播机制
#当对两个形状不同的 Tensor 按元素运算时,可能会触发广播(broadcasting)机制:先适当复制元素使这两个 Tensor 形状相同后再按元素运算。
x = torch.arange(1,4).view(1,3)
print(x)
y = torch.arange(1,5).view(4,1)
print(y)
print(x+y)

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

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

相关文章

多客户企业选择拥有哪些功能的CRM系统?

管理海量客户信息对于每一家企业都是巨大的挑战。粗放式的管理客户资料是对资源的一种浪费,让很多有意向的高价值客户流失。客户比较多,有什么CRM系统推荐吗?帮助企业轻松地跟进客户,提高销售效率? 1.易于使用 首先是…

macOS Ventura 13.5.1(22G90)发布(附黑/白苹果系统镜像地址)

系统镜像下载:百度:黑果魏叔 系统介绍 黑果魏叔 8 月 18 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.5.1 更新(内部版本号:22G90),本次更新距离上次发布隔了 24 天。 本次更新重点修复了…

Docker部署MongoDB 5.0.5

1、查看目录 rootwielun:~# tree mongo mongo ├── conf │ └── mongod.conf ├── data ├── docker-compose.yml └── logrootwielun:~# cd mongo rootwielun:~/mongo# chmod 777 log2、配置docker-compose.yml rootwielun:~/mongo# cat docker-compose.yml ve…

【ES6】—【必备知识】—扩展运算符与rest参数

一、扩展运算符 1. 定义:把数组或类数组展开成用逗号隔开的值 function foo(a,b,c) {console.log(a,b,c) } let arr [1,2,3] foo(...arr)2. 把两个数组合并 2-1. ES5 实现 let arr1 [1,2,3] let arr2 [4,5,6] Array.prototype.push.apply(arr1, arr2) consol…

多线程+隧道代理:提升爬虫速度

在进行大规模数据爬取时,爬虫速度往往是一个关键问题。本文将介绍一个提升爬虫速度的秘密武器:多线程隧道代理。通过合理地利用多线程技术和使用隧道代理,我们可以显著提高爬虫的效率和稳定性。本文将为你提供详细的解决方案和实际操作价值&a…

文心一言 VS 讯飞星火 VS chatgpt (80)-- 算法导论7.4 5题

五、如果用go语言,当输入数据已经“几乎有序”时,插入排序速度很快。在实际应用中,我们可以利用这一特点来提高快速排序的速度。当对一个长度小于 k 的子数组调用快速排序时,让它不做任何排序就返回。当上层的快速排序调用返回后&…

国产精品:讯飞星火最新大模型V2.0

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

ethers.js2:provider提供商

1、Provider类 Provider类是对以太坊网络连接的抽象,为标准以太坊节点功能提供简洁、一致的接口。在ethers中,Provider不接触用户私钥,只能读取链上信息,不能写入,这一点比web3.js要安全。 除了之前介绍的默认提供者d…

VMware 使用U盘进入PE系统,下划线光标闪烁

一、前言 vmware虚拟机各种原因崩溃,然后又没有快照,怎么办? 或者 密码忘记了无法开机,这时候就想到使用PE了。 二、分析 但是使用U盘进入PE的时候,遇到了各种问题: 加载U盘修改启动顺序启动后出现下划线…

介绍Server-Sent Events,以及使用,超级简单!

一、SSE 的本质 严格地说,HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。 也就是说,发送的不是一次性的数据包&…

[四次挥手]TCP四次挥手握手由入门到精通(知识精讲)

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &am…

【Python教程】3道循环结构练习题,都会了吗?

嗨喽~大家好呀,这里是魔王呐 ❤ ~! 练习1:输入一个数判断是不是素数。 from math import sqrtnum int(input(请输入一个正整数: )) end int(sqrt(num)) is_prime True for x in range(2, end 1):if num % x 0:is_prime Falsebreak if is_prime an…

Spring Cloud Alibaba笔记

😀😀😀创作不易,各位看官点赞收藏. 文章目录 Spring Cloud Alibaba 笔记1、Nacos 服务注册和配置中心1.1、Nacos 之下载启动1.2、Nacos 之注册中心1.3、Nacos 之服务发现1.4、Nacos 之配置中心1.5、Nacos 之分类配置1.6、Nacos 之…

Vue Cli 脚手架安装

Vue Cli 脚手架安装 首先,改一下仓库地址,使用下面的命令cnpm淘宝镜像加速 npm install cnpm -g --registryhttps://registry.npm.taobao.org下载安装 vue 脚手架 npm install -g vue/cli查看 vue cli 脚手架是否安装成功,如果输入命令出现…

联想小新Pro 16笔记本键盘失灵处理方法

问题描述: 联想小新Pro 16新笔记本开机准备激活,到连接网络的时候就开始触控板、键盘失灵,但是有意思的是键盘的背光灯是可以调节关闭的;外接鼠标是正常可以移动的,但是只要拔掉外接鼠标再插回去的时候就不能用了&…

python自动化入门之Python编写脚本实现自动化爬虫详解

想知道如何使用Python轻松高效地获取网络上的信息? 本篇文章将探索Python自动化爬虫,并展示如何编写实用的脚本。 1. 什么是Python爬虫? 爬虫顾名思义,就是像蜘蛛一样在网络上爬行,抓取各种有用信息的一种程序。而Pyt…

【Win】Dell Command PowerShell Provider 一款强大的IT工具

Dell Command | PowerShell Provider 是一款强大的IT工具,它允许用户通过 Windows PowerShell 界面轻松管理 Dell 硬件平台的 BIOS 配置。它提供了一系列的 PowerShell cmdlets命令,这些命令可以帮助 IT 管理员对 Dell 硬件平台进行 BIOS 配置的控制和管…

jmeter进行业务接口并发测试,但登录接口只执行一次

业务接口性能测试,往往都是需要登录,才能请求成功,通常只需要登录一次,再对业务接口多次并发测试。 在测试计划中,添加setUp线程组 把登录请求放入到该线程组中,设置HTTP信息头,JSON提取(提取登…

Blazor 依赖注入妙用:巧设回调

文章目录 前言依赖注入特性需求解决方案示意图 前言 依赖注入我之前写过一篇文章,没看过的可以看看这个。 C# Blazor 学习笔记(10):依赖注入 依赖注入特性 只能Razor组件中注入所有Razor组件在作用域注入的都是同一个依赖。作用域可以看看我之前的文章。 需求 …

使用Nacos配置中心动态管理Spring Boot应用配置

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…