Я использую Darkflow с YOLO для обнаружения объектов и Tensorflow 2.1.0. Я получаю сообщение об ошибке модуля, не найденного при попытке импорта, поскольку tf.contrib.slim устарел и tf.compat.v1 не может использоваться с ним.
Я попытался использовать tf.nn.batch_normalization, что дало мне ошибку -
Отсутствует аргумент Center
и
Использование tf.keras.layers дал мне ошибку -
TypeError: ('Аргумент ключевого слова не понят:', 'scope')
, когда я попытался заменить последний строка в коде -
def batchnorm(self, layer, inp):
if not self.var:
temp = (inp - layer.w['moving_mean'])
temp /= (np.sqrt(layer.w['moving_variance']) + 1e-5)
temp *= layer.w['gamma']
return temp
else:
args = dict({
'center' : False, 'scale' : True,
'epsilon': 1e-5, 'scope' : self.scope,
'updates_collections' : None,
'is_training': layer.h['is_training'],
'param_initializers': layer.w
})
return slim.batch_norm(inp, **args)
Я также попытался использовать репозиторий tf-slim google-research, который тоже не работал бы
Вот ссылка на страницу с полным кодом - https://github.com/thtrieu/darkflow/blob/master/darkflow/net/ops/convolution.py