MATLAB Размер эквивалентной функции в Python - PullRequest
0 голосов
/ 01 мая 2019

Если у меня есть код в Matlab.Исходя из моего понимания, я перевел этот код на python.Может кто-нибудь сообщить мне, если это правильный способ перевода.

for i = 1:length(Filters)
    Filters{i} = gpuArray(2*(single(sign(Filters{i}))-0.5));
    NumLearntWeightsEachLayer(i) = size(Filters{i},3)*size(Filters{i},4)*4;
end
NumLearntWeightsEachLayer(end) = size(Filters{end},3)*size(Filters{end},4);
NumLearntWeightsEachLayer
TotalLearntWeights = sum(NumLearntWeightsEachLayer)

Может кто-нибудь сообщить мне, если это может быть эквивалентный код для цикла for здесь.

for i in range (1,Filters):
    Filters(i) = (2* (Filters(i) - 0.5))
    NumLearntWeightsEachLayer(i) = (Filters(i),3).shape * (Filters(i),4).shape *4

Я также хочу знать, что может быть правильным переводом для последней части кода

 NumLearntWeightsEachLayer(end) = size(Filters{end},3)*size(Filters{end},4);

1 Ответ

0 голосов
/ 01 мая 2019

Это хорошее начало .. несколько небольших исправлений -

for i in range (0,len(Filters)):
    for j in range(0, len(Filters[i]):
        Filters[i][j] = 2*(round(Filters[i][j],1) - 0.5)
    NumLearntWeightsEachLayer[i] = len(Filters[i][3])*len(Filters[i][4])*4

Для последней строки-

NumLearntWeightsEachLayer(end) = size(Filters{end},3)*size(Filters{end},4);

Может быть записано как -

NumLearntWeightsEachLayer[-1] = len(Filters[-1][3])*len(Filters[-1][4]);
...