第2题-大模型Attention模块开发

第2题-大模型Attention模块开发 - 题目详情 - CodeFun2000

python 复制代码
import sys
import numpy as np

def solve():
    data = sys.stdin.read().split()
    #print(data)

    if not data:
        return

    n = int(data[0])
    m = int(data[1])
    h = int(data[2])

    X = np.full((n, m), 1, dtype=np.float64)
    W1 = np.full((m, h), 0, dtype=np.float64)

    for i in range(m):
        for j in range(i,h):
            W1[i, j] = 1

    W2 = W1.copy()
    W3 = W1.copy()

    #print(X)
    #print(W1)
    #print(W2)
    #print(W3)

    Q = X @ W1
    K = X @ W2
    V = X @ W3

    #print(Q)
    #print(K)
    #print(V)

    QKT = Q @ K.T

    Y = QKT / np.sqrt(h)
    soft_Y = Y.copy()
    row_sum = np.zeros(n)
    for i in range(n):
        row = 0
        for j in range(n):
            row += Y[i, j]

        row_sum[i] = row

    for i in range(n):
        for j in range(n):
            soft_Y[i, j] = Y[i,j] / row_sum[i]

    Y_final = soft_Y @ V
    #print(Y_final)

    #print(np.round(np.sum(Y_final)))
    print(int(np.round(np.sum(Y_final))))

if __name__=='__main__':
    solve()
相关推荐
哒哒哒52852010 分钟前
69. Python: 核心语法-面向对象基础-案例(教务系统)
python
何以解忧,唯有..20 分钟前
Python 中获取目录操作完全指南
windows·python·microsoft
南京云森杉木桩25 分钟前
常见打桩木品牌推荐,选对材质让工程更稳固
人工智能·python·材质
总有刁民想爱朕ha38 分钟前
Python PyQt5图片批量转MP4视频工具:本地离线免费无水印,完整代码
开发语言·python·qt
zyj88909141 分钟前
濮阳工厂目视化设计安全警示牌材质怎么选耐用
python·安全·材质
宸津-代码粉碎机1 小时前
FastUtil+AI多Agent实战:Java AI项目性能终极加速方案
java·服务器·开发语言·python·安全·php
for_ever_love__1 小时前
python基础语法学习: 装饰器
python·学习·装饰器·装饰器模式
Python私教1 小时前
Python 3.15 来了:free-threading 稳定 ABI 能给高并发服务带来什么
开发语言·python
tju新生代魔迷1 小时前
Python学习日记2
python·学习
Zane19942 小时前
create_task 和直接 await 到底有什么不一样?asyncio 的 Task、gather 与并发数量控制
后端·python