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

随机置矩阵列为0[矩阵乘法pytorch版]

文章目录

  • 1. 举例:
  • 2. python 代码

1. 举例:

A = [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ] , r a n d = [ 0 , 5 , 2 ] → A = [ 0 1 0 3 4 0 6 7 0 9 0 11 12 0 14 15 0 17 0 19 20 0 22 23 0 25 0 27 28 0 30 31 0 33 0 35 36 0 38 39 0 41 0 43 44 0 46 47 ] \begin{equation} A=\begin{bmatrix} 0&1&2&3&4&5&6&7\\\\ 8&9&10&11&12&13&14&15\\\\ 16&17&18&19&20&21&22&23\\\\ 24&25&26&27&28&29&30&31\\\\ 32&33&34&35&36&37&38&39\\\\ 40&41&42&43&44&45&46&47 \end{bmatrix},rand=[0,5,2]\to A=\begin{bmatrix} 0&1&0&3&4&0&6&7\\\\ 0&9&0&11&12&0&14&15\\\\ 0&17&0&19&20&0&22&23\\\\ 0&25&0&27&28&0&30&31\\\\ 0&33&0&35&36&0&38&39\\\\ 0&41&0&43&44&0&46&47 \end{bmatrix} \end{equation} A= 08162432401917253341210182634423111927354341220283644513212937456142230384671523313947 ,rand=[0,5,2]A= 000000191725334100000031119273543412202836440000006142230384671523313947

2. python 代码

import torch
import torch.nn as nntorch.manual_seed(234)class RandomPermute():def __init__(self, matrix, num):super(RandomPermute, self).__init__()self.matrix = matrixself.row, self.column = self.matrix.shapeself.num = numdef get_result(self):if self.num > self.column:set_num = self.columnelse:set_num = self.nummy_permute = torch.randperm(self.column)[:set_num]my_ones = torch.eye(self.column)print(f"before:my_ones=\n{my_ones}")my_ones[:, my_permute] = 0print(f"after:my_ones=\n{my_ones}")print(f"matrix=\n{self.matrix}")print(f"my_permute={my_permute}")my_result = self.matrix @ my_onesprint(f"my_result=\n{my_result}")return my_resultif __name__ == "__main__":run_code = 0a_matrix = torch.arange(48).reshape(6, 8).to(torch.float)set_num = 3my_rand_perm = RandomPermute(a_matrix, set_num)out_result = my_rand_perm.get_result()
  • 结果:
before:my_ones=
tensor([[1., 0., 0., 0., 0., 0., 0., 0.],[0., 1., 0., 0., 0., 0., 0., 0.],[0., 0., 1., 0., 0., 0., 0., 0.],[0., 0., 0., 1., 0., 0., 0., 0.],[0., 0., 0., 0., 1., 0., 0., 0.],[0., 0., 0., 0., 0., 1., 0., 0.],[0., 0., 0., 0., 0., 0., 1., 0.],[0., 0., 0., 0., 0., 0., 0., 1.]])
after:my_ones=
tensor([[0., 0., 0., 0., 0., 0., 0., 0.],[0., 1., 0., 0., 0., 0., 0., 0.],[0., 0., 0., 0., 0., 0., 0., 0.],[0., 0., 0., 1., 0., 0., 0., 0.],[0., 0., 0., 0., 1., 0., 0., 0.],[0., 0., 0., 0., 0., 0., 0., 0.],[0., 0., 0., 0., 0., 0., 1., 0.],[0., 0., 0., 0., 0., 0., 0., 1.]])
matrix=
tensor([[ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.],[ 8.,  9., 10., 11., 12., 13., 14., 15.],[16., 17., 18., 19., 20., 21., 22., 23.],[24., 25., 26., 27., 28., 29., 30., 31.],[32., 33., 34., 35., 36., 37., 38., 39.],[40., 41., 42., 43., 44., 45., 46., 47.]])
my_permute=tensor([0, 5, 2])
my_result=
tensor([[ 0.,  1.,  0.,  3.,  4.,  0.,  6.,  7.],[ 0.,  9.,  0., 11., 12.,  0., 14., 15.],[ 0., 17.,  0., 19., 20.,  0., 22., 23.],[ 0., 25.,  0., 27., 28.,  0., 30., 31.],[ 0., 33.,  0., 35., 36.,  0., 38., 39.],[ 0., 41.,  0., 43., 44.,  0., 46., 47.]])
http://www.lryc.cn/news/517081.html

相关文章:

  • C# 中mysql数据库,已经在原有数据库升级数据库脚本,去管理可以一次,和多次执行的,nuget包
  • PCL 分段线性函数
  • 王静波页岩气:工厂蜕变的创业传奇
  • php反序列化 ctf例题演示 框架安全(TP,Yii,Laravel) phpggc生成框架利用pop
  • Koi技术教程-Tauri基础教程-第二节 Tauri的核心概念上
  • 入门网络安全工程师要学习哪些内容【2025年寒假最新学习计划】
  • vulnhub靶场【DC系列】之5
  • 前端面试题合集
  • 基于RK3568/RK3588大车360度环视影像主动安全行车辅助系统解决方案,支持ADAS/DMS
  • 基于 GEE Sentinel-1 数据集提取水体
  • Python判断、循环练习
  • 【简博士统计学习方法】第1章:4. 模型的评估与选择
  • 解密Navicat密码(Java)
  • 某聘__zp_stoken__参数逆向还原
  • 【数据可视化-11】全国大学数据可视化分析
  • 声音是如何产生的
  • 梯度下降方法
  • web3与AI结合-Sahara AI 项目介绍
  • Nginx——反向代理(三/五)
  • 环动科技平均售价波动下滑:大客户依赖明显,应收账款周转率骤降
  • 源网荷储:构建智慧能源生态的关键方案设计
  • 进程间通讯
  • STM32-笔记33-OLED实验
  • 低空管控技术-无人机云监视技术详解!
  • RedisTemplate执行lua脚本及Lua 脚本语言详解
  • 基于springboot的网上商城购物系统
  • 服务器攻击方式有哪几种?
  • 【Unity3D】AB包加密(AssetBundle加密)
  • 【FTP 协议】FTP主动模式
  • 十五、Vue 响应接口