#python #tensorflow
#python #tensorflow
Вопрос:
У меня есть следующий фрагмент кода:
def _separable_conv(features, depth, kernel_size, depth_multiplier,
regularize_depthwise, rate, stride, scope):
if activation_fn_in_separable_conv:
activation_fn = tf.nn.relu
else:
activation_fn = None
features = tf.nn.relu(features)
return separable_conv2d_same(features,
depth,
kernel_size,
depth_multiplier=depth_multiplier,
stride=stride,
rate=rate,
activation_fn=activation_fn,
regularize_depthwise=regularize_depthwise,
scope=scope)
for i in range(3):
residual = _separable_conv(residual,
depth_list[i],
kernel_size=3,
depth_multiplier=1,
regularize_depthwise=regularize_depthwise,
rate=rate*unit_rate_list[i],
stride=stride if i == 2 else 1,
scope='separable_conv' str(i 1))
if skip_connection_type == 'conv':
shortcut = tf.Conv2D(inputs,
depth_list[-1],
[1, 1],
stride=stride,
activation_fn=None,
scope='shortcut')
outputs = residual shortcut
elif skip_connection_type == 'sum':
outputs = residual inputs
elif skip_connection_type == 'none':
outputs = residual
else:
raise ValueError('Unsupported skip connection type.')
return slim.utils.collect_named_outputs(outputs_collections,
sc.name,
outputs)
В последней строке мы используем модуль slim из tf.contrib, который устарел в tensorflow 2. Какие функции существуют в tensorflow 2 или иным образом для выполнения той же функции, что и строка slim.utils.collect_named_outputs?
Комментарии:
1. Лучший подход — импортировать tensorflow2 как tf, запустить код, проверить ошибки и исправить их.
2. Я бы попробовал сначала запустить их сценарий обновления. tensorflow.org/guide/upgrade
Ответ №1:
TF-slim теперь доступен как внешний пакет на Github, и он поддерживает Tensorflow 2. Библиотека обладает точно такой же функциональностью (включая этот метод!), У нее просто новый дом и другой способ установки.
В основных библиотеках нет кода Tensorflow 2, который может напрямую заменить ваш код.