擅长:python、mysql、java
<p>考虑用广播代替:</p>
<pre><code>import numpy as np
dWhy = np.random.sample(300)
dby = np.random.sample(300)
ps = np.random.sample(100000)
targets = np.random.sample(100000)
hs = np.random.sample(100000)
dWhy += np.dot(ps,hs)
dby += np.sum(ps)
</code></pre>
<p>当它跑快20000倍的时候</p>
<pre><code>timer = time.time()
for i in range(20000):
dWhy += np.dot(ps,hs)
dby += np.sum(ps)
print(time.time()-timer)
>>3.2034592628479004
print(time.time()-timer)/20000)
>>0.00016017296314239503
</code></pre>