资源简介
一种基于矩阵分解方法的电影推荐算法
代码片段和文件信息
import numpy as np
from numba import cuda float64 jit
from scipy import sparse
import os
import time
time_start=time.time()
cuda.select_device(0)
# 使用jit模式加速单一元素乘法运算
@jit(nopython=True)
def multiply(c d):
return c * d
# 使用jit模式加速单一元素减法运算
@jit(nopython=True)
def subtract(e f):
return e - f
# 使用jit模式加速梯度下降算法
@jit(nopython=True)
def gradient_descent(err p la lr q):
return q + ((err * p) - (la * q)) * lr
# Thread Per Block
TPB = int(32)
# 使用cuda.jit模式,用gpu加速矩阵的乘法运算
@cuda.jit
def fast_matmul(a b c):
sa = cuda.shared.array(shape=(TPB TPB) dtype=float64)
sb = cuda.shared.array(shape=(TPB TPB) dtype=float64)
x y = cuda.grid(2)
tx = cuda.threadIdx.x
ty = cuda.threadIdx.y
# bpg = cuda.gridDim.x
if x >= c.shape[0] and y >= c.shape[1]:
# Quit if (x y) is outside of valid C boundary
return
tmp = 0
for i in range(hid):
sa[tx ty] = a[x ty + i * TPB]
- 上一篇:凸多边形内角和计算
- 下一篇:爬取头条美女图片(仅供参考思路已不能用)
相关资源
- 爬取头条美女图片(仅供参考思路已
- Python OpenCV 图像使用-
- Python OpenCV 类型转换-
- Python实现的选择排序算法
- excell 、csv合并小工具(python源码)
- 使用python 获取知乎用户粉丝
- python输出1-100之间的回文数列表
- python打印素数
- python reduce使用方法
- SVM支持向量机(python)
- Python实现A2L文件解析
- Python几行代码写完数组的增删查改排
- 使用Python制作控制visa程控电源
- python 多张图片黑底白字转白底黑字
- 8数码问题的python解决方案(代码)
- python生成二维码(基于qrcode)
- Python爬取人教网教材
- 像计算机科学家一样思考Python (英文
- python 自动收邮件(基于imaplib)
- sqlalchemy
- Python数据结构 随书源码
- python中matplotlib运用(teamwork-4.ipynb)
- python实现贪吃蛇游戏
- 随机森林分类(python代码)
- python五子棋
- python动画(基于turtle+ math)
- python for给一列求偶数和奇数和统计个
- python tensorFlow AND和XOR
- python 字符串包附 函数 (in用法)
- python while
评论
共有 条评论