在numba函数中,我传递的参数如下:
sets_one_step(idx,sets=[set1, set2], indexes=[sort_idx1, sort_idx2], probs=[P1, P2])
Run Code Online (Sandbox Code Playgroud)
运行代码后我收到以下警告:
/.local/lib/python3.6/site-packages/numba/core/ir_utils.py:2031: NumbaPendingDeprecationWarning:
Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'sets' of function '__numba_parfor_gufunc_0x7f5ebfb88748'.
Run Code Online (Sandbox Code Playgroud)
此特定错误/警告可能源自函数内的以下行:
for k in prange(len(sets)):
Run Code Online (Sandbox Code Playgroud)
这里,set1, set2是 numpy 数组(integer或flaot32)。如果这只是 2 组,那么我可以将它们作为函数中的单独参数。但是,我的应用程序可以有 2 个以上的此类数组。我想知道将来如何在我的用例中避免出现此警告。
基本上,我想编写一个损失函数来计算比较批次的标签和输出的分数。为此,我需要修复批量大小。
我之前在 Tensorflow 中做过,我可以在占位符函数中设置批量大小。现在,我需要在提供给我的 Keras 代码中使用类似的机制。我不知道在这里怎么做。
conv1 = (Conv2D(32, (3,3), padding='same', kernel_regularizer=regularizers.l2(weight_decay), input_shape=x_train.shape[1:], activation='elu'))(input_img)
print(conv1.shape)
Run Code Online (Sandbox Code Playgroud)
打印语句的输出显然是[?, 32, 32, 3]. 我该怎么做,说[64, 32, 32, 3]?