python中的MATLAB大小等价函数

2024-06-24 13:32:42 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我有一个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循环的等价代码。在

^{pr2}$

我还想知道代码最后一部分的正确翻译是什么

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

Tags: 方法代码forsizelengthfiltersendsum
1条回答
网友
1楼 · 发布于 2024-06-24 13:32:42

这是个好的开始。。一些小的修补-

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

最后一行-

^{pr2}$

可以写成-

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

相关问题 更多 >