Насколько массивные массивы делают это и правильно ли это? - PullRequest
0 голосов
/ 06 июня 2019

Я просматривал некоторый код нейронной сети, написанный на python, с numpy, и заметил, что при передаче результатов нейронов через функцию активации:

def sigmoid(x):
    return 1 / ( 1 + np.exp(-x))

Вместо того, чтобы передавать веса по одномутот, кто вызвал функцию с аргументом np.array!

Примерно так:

import numpy as np

def sigmoid(x):
    return 1.0/(1.0 + np.exp(-x))

x = np.zeros((2,2))

print "Before\n",x
x = sigmoid(x)
print "After\n",x

К моему удивлению, это сработало.Я всегда вызывал функцию активации с циклом для каждого веса индивидуально, так как функция принимает одно число в качестве входных данных.

output:

Before
[[ 0.  0.]
 [ 0.  0.]]
After
[[ 0.5  0.5]
 [ 0.5  0.5]]

Я также пробовал некоторые другие операции, и оникажется, работает нормально.

Это 'правильно'?Есть ли случаи, когда это не сработало или для этого созданы массивы?Что я действительно хочу знать, так это то, могу ли я использовать это или мне лучше делать то, что я делал раньше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...