0

我正在尝试运行可以在此处找到的基线模型:https ://github.com/gniknoil/FG2020-kinship/tree/master/Track1

这是代码:

def baseline_model():
input_1 = Input(shape=(224, 224, 3))
input_2 = Input(shape=(224, 224, 3))

base_model = VGGFace(model='resnet50', include_top=False)

for x in base_model.layers[:-3]:
    x.trainable = True

x1 = base_model(input_1)
x2 = base_model(input_2)


x1=GlobalMaxPool2D()(x1)
x2=GlobalAvgPool2D()(x2)

x3 = Subtract()([x1, x2])
x3 = Multiply()([x3, x3])

x1_ = Multiply()([x1, x1])
x2_ = Multiply()([x2, x2])
x4 = Subtract()([x1_, x2_])

x5 = Multiply()([x1, x2])

x = Concatenate(axis=-1)([x3, x4, x5])
#     x = Dense(512, activation="relu")(x)
#     x = Dropout(0.03)(x)
x = Dense(128, activation="relu")(x)
x = Dropout(0.02)(x)
out = Dense(1, activation="sigmoid")(x)


model = Model([input_1, input_2], out)

model.compile(loss="binary_crossentropy", metrics=['acc'], optimizer=adamv2.Adam(0.00001))
#model.compile(loss=[focal_loss(alpha=.25, gamma=2)], metrics=['acc'], optimizer=Adam(0.00003))
#model.compile(loss=[focal_loss(alpha=.25, gamma=2)], metrics=['acc'], optimizer=Adam(0.00001))
model.summary()

return model

我得到了错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/var/folders/1x/xq_p1_3x2wj0drhvr109gkfh0000gn/T/ipykernel_7112/1473799896.py in <module>
----> 1 model = baseline_model()

/var/folders/1x/xq_p1_3x2wj0drhvr109gkfh0000gn/T/ipykernel_7112/726929419.py in baseline_model()
     31 
     32 def baseline_model():
---> 33     input_1 = Input(shape=(224, 224, 3))
     34     input_2 = Input(shape=(224, 224, 3))
     35 

~/opt/anaconda3/envs/env-kinship/lib/python3.8/site-packages/keras/engine/input_layer.py in Input(shape, batch_shape, name, dtype, sparse, tensor)
    173     if not dtype:
    174         dtype = K.floatx()
--> 175     input_layer = InputLayer(batch_input_shape=batch_shape,
    176                              name=name, dtype=dtype,
    177                              sparse=sparse,

~/opt/anaconda3/envs/env-kinship/lib/python3.8/site-packages/keras/legacy/interfaces.py in wrapper(*args, **kwargs)
     89                 warnings.warn('Update your `' + object_name + '` call to the ' +
     90                               'Keras 2 API: ' + signature, stacklevel=2)
---> 91             return func(*args, **kwargs)
     92         wrapper._original_function = func
     93         return wrapper

~/opt/anaconda3/envs/env-kinship/lib/python3.8/site-packages/keras/engine/input_layer.py in __init__(self, input_shape, batch_size, batch_input_shape, dtype, input_tensor, sparse, name)
     37         if not name:
     38             prefix = 'input'
---> 39             name = prefix + '_' + str(K.get_uid(prefix))
     40         super(InputLayer, self).__init__(dtype=dtype, name=name)
     41 

~/opt/anaconda3/envs/env-kinship/lib/python3.8/site-packages/keras/backend/tensorflow_backend.py in get_uid(prefix)
     72     """
     73     global _GRAPH_UID_DICTS
---> 74     graph = tf.get_default_graph()
     75     if graph not in _GRAPH_UID_DICTS:
     76         _GRAPH_UID_DICTS[graph] = defaultdict(int)

~/opt/anaconda3/envs/env-kinship/lib/python3.8/site-packages/tensorflow/python/util/deprecation_wrapper.py in __getattr__(self, name)
    115         call_location = _call_location()
    116         if not call_location.startswith('<'):  # skip locations in Python source
--> 117           logging.warning(
    118               'From %s: The name %s is deprecated. Please use %s instead.\n',
    119               _call_location(), full_name, rename)

~/opt/anaconda3/envs/env-kinship/lib/python3.8/site-packages/tensorflow/python/platform/tf_logging.py in warning(msg, *args, **kwargs)
    164 @tf_export(v1=["logging.error"])
    165 def error(msg, *args, **kwargs):
--> 166     get_logger().error(msg, *args, **kwargs)
    167 
    168 

~/opt/anaconda3/envs/env-kinship/lib/python3.8/logging/__init__.py in warning(self, msg, *args, **kwargs)
   1456         """
   1457         if self.isEnabledFor(WARNING):
-> 1458             self._log(WARNING, msg, args, **kwargs)
   1459 
   1460     def warn(self, msg, *args, **kwargs):

~/opt/anaconda3/envs/env-kinship/lib/python3.8/logging/__init__.py in _log(self, level, msg, args, exc_info, extra, stack_info, stacklevel)
   1575             #IronPython can use logging.
   1576             try:
-> 1577                 fn, lno, func, sinfo = self.findCaller(stack_info, stacklevel)
   1578             except ValueError: # pragma: no cover
   1579                 fn, lno, func = "(unknown file)", 0, "(unknown function)"

TypeError: _logger_find_caller() takes from 0 to 1 positional arguments but 2 were given

我怎样才能解决这个问题?

我的 Keras 版本是 2.2.4 我的张量流版本是 1.14.0 我使用的是 python 3.8.1 和 anaconda 环境。

我在这里尝试了解决方案:https ://medium.com/the-rising-tilde/typeerror-logger-find-caller-takes-from-0-to-1-positional-arguments-but-2-were- given-cb24b74a6125 不起作用

4

0 回答 0