我从没见过在python中以这种方式使用过冒号,需要一个解释。
这里的dim
,in_features
和out_features
都是int。 i
是for循环中的索引计数器。当我自己使用dim:(i + 1)
时,它不会引发错误,但也不会执行任何操作。如果我自己使用0:(i+1)
,我会得到SyntaxError: illegal target for annotation
。
下面是可复制的代码段。
dim = 8
in_features = dim
hidden_dim = 3
out_features = dim * hidden_dim
weight = np.zeros([out_features, in_features])
for i in range(dim):
weight[i * out_features // dim:(i + 1) * out_features // dim,\
0:(i + 1) * in_features // dim] \
= np.random.uniform(size=[out_features // dim, (i + 1) * in_features // dim])