小编Pet*_*eng的帖子

在RNN / lstm RNN中使用批处理规范化是正常的吗?

我是深度学习的初学者。我知道在常规神经网络中,人们在激活之前会使用批处理规范,这将减少对良好的权重初始化的依赖。我想知道当我使用它时是否会对RNN / lstm RNN起到同样的作用。有人有经验吗?谢谢。

machine-learning deep-learning

12
推荐指数
3
解决办法
1万
查看次数

为什么numba cuda多次调用后运行缓慢?

我正在尝试如何在numba中使用cuda。但是,我遇到了与期望不同的事情。这是我的代码

from numba import cuda
@cuda.jit
def matmul(A, B, C):
"""Perform square matrix multiplication of C = A * B
"""
d=cuda.local.array((3,3),dtype=numba.float64)
i, j = cuda.grid(2)
if i < C.shape[0] and j < C.shape[1]:
    tmp = 0.
    for k in range(A.shape[1]):
        tmp += A[i, k] * B[k, j]
    C[i, j] = tmp
Run Code Online (Sandbox Code Playgroud)

这是我为使用numba.cuda进行测试而自定义的矩阵函数。在运行测试之前,我还通过以下代码加载了数组:

import numpy as np
a=np.random.rand(2000,2000)
b=np.random.rand(2000,2000)
c=np.empty((2000,2000))
a1=cuda.to_device(a)
b1=cuda.to_device(b)
c1=cuda.to_device(c)
Run Code Online (Sandbox Code Playgroud)

然后,我将以下代码用于实验:

from time import time
count =0
start=time()
for i in range(2000):
  matmul[(256,256),(16,16)](a1,b1,c1)
  count +=1
  print(count)
Run Code Online (Sandbox Code Playgroud)

for循环在第一个1028年运行非常快。但是在1028年之后它运行非常缓慢,究竟是什么原因造成的,以及如何解决它。顺便说一下,我在win10上运行。 …

cuda python-3.x pycuda numba numba-pro

2
推荐指数
1
解决办法
350
查看次数