第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()
相关推荐
接着奏乐接着舞1 分钟前
springboot 常用注解
spring boot·后端·python
woxihuan1234561 分钟前
MySQL 中高效存储与查询时间数据的最佳实践
jvm·数据库·python
2301_809204702 分钟前
如何用 structuredClone 原生函数实现复杂对象深拷贝
jvm·数据库·python
2401_898717663 分钟前
Golang Gin如何定义路由和路由组_Golang Gin路由教程【实用】
jvm·数据库·python
甄心爱学习4 分钟前
【项目实训(个人6)】
人工智能·python·个人开发
ㄟ留恋さ寂寞5 分钟前
Golang怎么用unsafe获取结构体大小_Golang如何用Sizeof查看类型占用的字节数【方法】
jvm·数据库·python
IT策士6 分钟前
Python 中间件系列:kafka学习
python·中间件·kafka
水木流年追梦6 分钟前
大模型入门-应用篇2-RAG (检索增强生成):从原理到 Python 实战
开发语言·python·算法·prompt
zhoutongsheng6 分钟前
golang如何实现coredump分析_golang coredump分析实现策略
jvm·数据库·python
2301_795099747 分钟前
如何用SQL实现分组内前N个百分比筛选_窗口函数应用
jvm·数据库·python