当前位置: 首页 > 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.gsyq.cn/news/68824.html

相关文章:

  • 纺织脉搏,气动赋能:精选高效空压机品牌助力产业升级
  • 2025预糊化淀粉厂家TOP5公平推荐:各有专攻的优质供应商,按需选择更适配
  • 2025年12月货架/钢平台厂家权威推荐TOP10:以实力甄选,为效率赋能
  • 2025年12月角接触球轴承厂家推荐 应用场景涵盖数控机床主轴轴承、机器人轴承、电机轴承
  • 2025年12月货架/钢平台等设备厂家权威推荐TOP10,选对厂家省成本超30%
  • 智选空压动力:深度解析国内空压机实力品牌与行业应用方案
  • 2025 年12月挤出机行业优选5优质厂家推荐:比较好的双螺杆挤出机/挤出机设备/单螺杆挤出机/螺杆挤出机/双螺杆颗粒挤出机/平行双螺杆挤出机/三螺杆挤出机/pp双螺杆挤出机/塑胶双螺杆挤出机厂家
  • 2025年柜体发光板批发厂家权威推荐榜单:发光木板‌/圆形发光板‌/发光置物架‌源头厂家精选
  • 2025 年蜗轮丝杆升降机厂家厂家最新推荐排行榜:聚焦八大实力企业,解析产品性能与服务优势JWM /按图定制/不锈钢/电动/多台联动蜗轮丝杆升降机公司推荐
  • 2025 年 12 月国内管理咨询公司TOP10榜单:洞悉行业趋势,引领企业变革的智慧之选!
  • 消费者组重平衡与消息顺序性保证:原理、操作与实践
  • 2025年12月升降平台、全自行式升降机优质品牌最新推荐+安全平稳性指南
  • 2025年惠州围挡护栏认证厂家推荐:围挡护栏源头厂家哪家靠谱
  • 2025年12月升降平台厂家推荐:全自行式升降机、登车桥、装卸平台、导轨货梯精选
  • 2025 年 12 月战略管理咨询公司权威推荐榜:洞悉商业趋势,助力企业腾飞的智慧之选!
  • 正规股票配资平台哪些实盘配资平台靠谱
  • 2025年口碑好的围挡护栏厂家推荐:鑫森建设产品质量好
  • 公众号排版用什么软件?3款主流工具推荐与实操指南
  • Antigravity 删除 D盘问题分析
  • 2026年煤质分析仪器厂家新推荐排行,煤质分析仪器信誉好/售后好/服务好/技术好
  • 2025 年 12 月全过程咨询公司权威推荐榜:一站式服务,专业高效解决方案提供商!
  • 保研规划排行榜2025:综合实力排名Top10机构盘点
  • mapper foreach 多字段更新
  • 2025 年 12 月制氮机厂家推荐榜单,PSA制氮机装置,模组制氮机,氨气净化干燥装置,高效稳定品牌精选!
  • 文本到图像、涂鸦转换、人像风格重塑
  • 2025数据安全管理平台Top榜:自定义合规治理AI优化能力评测
  • APP界面设计公司分享;社交金融APP情感化设计打破行业刻板印象
  • 当销售额下降时,ChatBI 如何实现多维下钻、归因分析?
  • RelativeLayout 根布局里有一个子布局预期一直展示,但子布局RelativeLayout被 覆盖了
  • 仓库货架公司推荐,钢制货架/冷库货架/托盘货架/组合式货架/精益管料架/金属货架/仓库货架产品有哪些