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

【*矩阵运算】你不得不会的线性代数/点乘和矩阵乘法的区别/如何加速运算和不保留中间结果(防止爆内存MLE)

【前置知识】矩阵乘法、点乘的计算以及点积和叉积的分辨

0ba8a323f2a9eb6c8492a2c95ce2e4ab

1.矩阵点乘就是矩阵乘法?
//未完,我去写机器学习代码去了;

1.思路两个:
第一个:保存中间结果,temp然后模拟自然矩阵计算流程,先计算\(Q\times K^T\)再计算\(W\cdot temp\),再计算\(temp\times V\);
但是这样做的话由于nxn十分巨大,最多需要多达\(10^{8}*lli(8bytes=64bits)\)的大小,约等于\(8*10^8B/1024\times 1024B=762MB\);由于空间限制为:512 MB,因此一定会爆;

但是d就小得多,因此我们需要尝试一次性把全部结果都计算出来,不保留中间结果;
也就是思路2;

以下代码被注释掉的是思路1,新的是思路2;
代码:

#include<iostream>
#include<vector>
typedef long long int lli;
using namespace std;
int n,d;void QxKT(vector<vector<lli>> &res,vector<vector<int>>& Q,vector<vector<int>>& K){for(int i = 0; i < n;i++){for(int j = 0;j < n;j++){for(int k = 0;k < d;k++){res[i][j] += Q[i][k]*K[j][k];}}}
}
void Wxtemp(vector<vector<lli>> &res,vector<int>&W){for(int i =0; i < n ;i++){for(int j = 0;j < n;j++){res[i][j] = res[i][j]*W[i];}}
}void tempxV(vector<vector<lli>>& Res,vector<vector<lli>>& temp,vector<vector<int>>& V){for(int i = 0;i < n;i++){for(int j = 0; j < n;j++){for(int k = 0;k < d;k++){Res[i][k] += temp[i][j]*V[j][k];}}}
}int main(){cin >> n >> d;vector<vector<int>> Q(n+1,vector<int>(d+1));vector<vector<int>> K(n+1,vector<int>(d+1));vector<vector<int>> V(n+1,vector<int>(d+1));vector<int> W(n+1);vector<vector<lli>> Res(n+1,vector<lli>(d+1));for(int i = 0;i < n;i++){for(int j = 0;j < d;j++){cin >> Q[i][j];}}for(int i = 0;i < n;i++){for(int j = 0;j < d;j++){cin >> K[i][j];}}for(int i = 0;i < n;i++){for(int j = 0;j < d;j++){cin >> V[i][j];}}for(int i = 0;i < n;i++){cin >> W[i];}// vector<vector<lli>> temp(n+1,vector<lli>(n+1));//中间矩阵nxn// QxKT(temp,Q,K);// Wxtemp(temp,W);// tempxV(Res,temp,V);for(int i = 0; i < n; i++){for(int j = 0; j < n; j++){long long qk = 0;for(int t = 0; t < d; t++){qk += Q[i][t] * K[j][t];}qk *= W[i];for(int k = 0; k < d; k++){Res[i][k] += qk * V[j][k];}}}for(int i = 0;i < n;i++){for(int j = 0;j < d;j++){cout << Res[i][j] << " ";}cout << endl;}
}
http://www.jsqmd.com/news/58440/

相关文章:

  • 2025年五大有实力的电加热导热油炉生产厂家推荐
  • 纺织脉搏,气动赋能:精选高效空压机品牌助力产业升级
  • 博客园,我来啦~
  • 2025年重庆口碑不错的幼儿园机构推荐,专业的幼儿园全解析
  • 2025预糊化淀粉厂家TOP5公平推荐:各有专攻的优质供应商,按需选择更适配
  • 智选纺织动力源:揭秘高效空压机品牌如何为纺织业注入强劲动能
  • 2025年12月角接触球轴承厂家推荐 应用场景涵盖数控机床主轴轴承、机器人轴承、电机轴承
  • Binder机制的优点有哪些?
  • 纺织行业空压机品牌精选:节能与适配性双优方案来袭
  • 2025年12月货架厂家权威TOP5推荐:立足实力,甄选可靠的仓储基石
  • 智选空压动力:深度解析国内空压机实力品牌与行业应用方案
  • 2025 年 12 月试验机,拉力试验机,高低温拉伸试验机厂家最新推荐,聚焦资质、案例、售后的十家机构深度解读!
  • 2025年12月国内空压机品牌权威推荐TOP10:节能与实力的双重考量
  • 2025 年12月挤出机行业优选5优质厂家推荐:比较好的双螺杆挤出机/挤出机设备/单螺杆挤出机/螺杆挤出机/双螺杆颗粒挤出机/平行双螺杆挤出机/三螺杆挤出机/pp双螺杆挤出机/塑胶双螺杆挤出机厂家
  • 2025年柜体发光板批发厂家权威推荐榜单:发光木板‌/圆形发光板‌/发光置物架‌源头厂家精选
  • 2025 年 12 月成都艺术生文化课集训,成都高三冲刺封闭式全托辅导最新推荐,聚焦资质、案例、售后的十家机构深度解读!
  • 2025年卧式LTO沉积设备供货商推荐榜单:Sipos沉积设备/PSG沉积设备/Si3N4沉积设备制造商精选
  • 2025 年北京婚礼堂服务机构最新推荐榜,聚焦品牌服务品质与菜品新鲜度深度解析烟火气宴席北京婚礼堂公司推荐
  • 2025 年蜗轮丝杆升降机厂家厂家最新推荐排行榜:聚焦八大实力企业,解析产品性能与服务优势JWM /按图定制/不锈钢/电动/多台联动蜗轮丝杆升降机公司推荐
  • 2025 年 12 月国内管理咨询公司TOP10榜单:洞悉行业趋势,引领企业变革的智慧之选!
  • 2025 年 12 月宁波网站建设,宁波网站建设机构最新推荐,聚焦资质、案例、售后的十家机构深度解读
  • 消费者组重平衡与消息顺序性保证:原理、操作与实践
  • 20232401 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • 2025 年 12 月人力资源咨询公司权威推荐榜:精准匹配与专业服务的行业佼佼者!
  • 完整教程:模电基础和数电基础
  • 2025 年 12 月污水处理用水墨分离设备,智能化水墨分离设备厂家最新推荐,聚焦资质、案例、售后的十家机构深度解读!
  • 2025 年 12 月内控管理咨询公司权威推荐榜:精准风控与高效运营的行业领航者
  • 星图云开发者平台功能详解|数据模型设计器:重构数据开发
  • 2026年煤炭检测仪器厂家新推荐排行,煤炭检测仪器信誉好/售后好/服务好/技术好
  • 2025年加装电梯厂商推荐:加装电梯厂家全解析