Здравствуйте и добро пожаловать на SO.
Прежде всего, ваш код вообще не может быть запущен. Ниже приведены исправления, чтобы заставить его работать. Для ошибки трансляции операнда продолжите ниже.
w = np.ones(5,1)) # excess right paranthesis here
# numpy.ones([5,1]) it should be a list of dimensions
w.reshape(5,1)
T.reshape(46,5) # unnecessary
D = np.random,rand(46, 9063) # random,rand
# You meant random.rand I suppose
grad_T = grad_T + b
(-1*dify*w[l,1]*difVec)/(1+np.exp(dify * ( w.transpose() @
T.transpose() @ difVec + b )))
# This here will not work w is [5,1] you cannot index w[l, 1]
# It is definitely out of bounds. You meant w[l, 0] I suppose.
Ваш код работает на Colab . И все размеры вашей матрицы умножения были правильными. Я избавился от b
, так как я не знаю его размера. b
вероятно виновник ошибки, которую вы получаете. Ваш знаменатель имеет форму (46,) и ваш знаменатель (1,), если вы избавитесь от b
. Вероятно, вы получаете ошибку, потому что b
имеет форму (5,). Поскольку ваш w был [5,1], я предполагаю, что ваш уклон (b
) имеет те же размеры. Таким образом, индексирование матрицы b решит вашу проблему.