тензор потока 2.0, variable_scope (), TypeError: __call __ () получил неожиданный аргумент ключевого слова 'partition_info' - PullRequest
1 голос
/ 13 марта 2019

Я преобразовал модель CNN из tf1.x в tf2.0 с помощью tf_upgrade_v2, но когда я использовал эту преобразованную модель, я получил ошибку:

File "/home/hsw/virtual_env/tf2.0/lib/python3.6/site-packages/tensorflow/python/ops/variable_scope.py", line 2492, in default_variable_creator import_scope=import_scope, distribute_strategy=distribute_strategy) File "/home/hsw/virtual_env/tf2.0/lib/python3.6/site-packages/tensorflow/python/ops/variables.py", line 216, in __call__ return super(VariableMetaclass, cls).__call__(*args, **kwargs) File "/home/hsw/virtual_env/tf2.0/lib/python3.6/site-packages/tensorflow/python/ops/resource_variable_ops.py", line 422, in __init__ constraint=constraint) File "/home/hsw/virtual_env/tf2.0/lib/python3.6/site-packages/tensorflow/python/ops/resource_variable_ops.py", line 545, in _init_from_args initial_value() if init_from_fn else initial_value, File "/home/hsw/virtual_env/tf2.0/lib/python3.6/site-packages/tensorflow/python/ops/variable_scope.py", line 886, in <lambda> shape.as_list(), dtype=dtype, partition_info=partition_info) TypeError: __call__() got an unexpected keyword argument 'partition_info'

кажется, что-то не так в variables.py, а преобразованная модель, например, такая:

    with tf.compat.v1.variable_scope('backbone', reuse=tf.compat.v1.AUTO_REUSE):
      net = tf.compat.v1.layers.separable_conv2d(inputs, 16, 3, 1, 'same',
                                     activation=tf.nn.elu,
                                     depthwise_initializer=tf.keras.initializers.glorot_normal(),
                                     pointwise_initializer=tf.keras.initializers.glorot_normal(),
                                     name='conv1')
      net = tf.compat.v1.layers.max_pooling2d(net, 2, 2, padding='same')
      net = tf.compat.v1.layers.separable_conv2d(net, 32, 3, 1, 'same',
                                     activation=tf.nn.elu,
                                     depthwise_initializer=tf.keras.initializers.glorot_normal(),
                                     pointwise_initializer=tf.keras.initializers.glorot_normal(),
                                     name='conv2')

как решить эту проблему?

1 Ответ

0 голосов
/ 14 марта 2019

Это ошибка, и она уже была зарегистрирована на github.Смотрите обсуждение там: https://github.com/tensorflow/tensorflow/issues/26665#issuecomment-472950222

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...