第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()
相关推荐
言乐66 分钟前
Python区分广度优先深度优先宽度优先的区别
python·算法·深度优先·广度优先·宽度优先
打工仔折腾 AI18 分钟前
LLaMA 1 到 LLaMA 3 架构演进拆解:从 RoPE、GQA 到词表扩张
人工智能·后端·python·深度学习·langchain·llama
旋生万物1 小时前
螺旋角分布的功率谱分析:多窗谱 + FDR 校正
开发语言·python
专业程序开发源1 小时前
SSM校园拍摄交流服务平台36936-计算机课程设计、毕业设计
java·spring boot·后端·python·elasticsearch·php·课程设计
wuyk5551 小时前
Python 网络爬虫入门到实战 第 04 章:请求头、UA 伪装、超时、异常处理、基础反爬绕过
开发语言·爬虫·python
kaiyou20262 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习
weixin_440730502 小时前
装饰器decorator总结(函数即是变量、高阶函数、嵌套函数、参数组)
python·装饰器
零基础1232 小时前
LLM Agent 驱动的物模型构建:从设备手册到边缘接入的自动化实践
运维·人工智能·经验分享·python·自动化
zyj8890912 小时前
工厂标识系统设计规范?工厂标识牌有哪些类型?
python·设计规范
weixin_440730502 小时前
迭代器Iterator(列表生成器、可迭代的如何生成迭代器)
开发语言·python