Python Keras误差';关键字参数不理解:'';子样本';
我目前正在努力使一篇研究论文的源代码起作用。它应该能够通过深度学习检测图像上的细胞。源代码可在以下位置获得: 我正在使用Python 3.9.5和keras 2.5.0 为了使代码正常工作,我遇到了一些问题,我不知道如何解决这些错误。编译train.py时会发生这种情况:Python Keras误差';关键字参数不理解:'';子样本';,python,keras,deep-learning,Python,Keras,Deep Learning,我目前正在努力使一篇研究论文的源代码起作用。它应该能够通过深度学习检测图像上的细胞。源代码可在以下位置获得: 我正在使用Python 3.9.5和keras 2.5.0 为了使代码正常工作,我遇到了一些问题,我不知道如何解决这些错误。编译train.py时会发生这种情况: Traceback (most recent call last): File "D:\Fac\Stage L2\Travail\train.py", line 126, in <module>
Traceback (most recent call last):
File "D:\Fac\Stage L2\Travail\train.py", line 126, in <module>
train_(base_path)
File "D:\Fac\Stage L2\Travail\train.py", line 87, in train_model = buildModel_U_net(input_dim = (256,256,3))
File "D:\Fac\Stage L2\Travail\model.py", line 173, in buildModel_U_net
act_ = U_net_base (input_, nb_filter = 64 )
File "D:\Fac\Stage L2\Travail\model.py", line 123, in U_net_baseblock1 = _conv_bn_relu_x2(nb_filter,3,3)(input)
File "D:\Fac\Stage L2\Travail\model.py", line 57, in fconv_a = Convolution2D(nb_filter, row, col, subsample = subsample,
File "C:\Users\Cinna\AppData\Local\Programs\Python\Python39\lib\site-packages\keras\layers\convolutional.py", line 656, in __init__super(Conv2D, self).__init__(
File "C:\Users\Cinna\AppData\Local\Programs\Python\Python39\lib\site-packages\keras\layers\convolutional.py", line 125, in __init__
super(Conv, self).__init__(
File "C:\Users\Cinna\AppData\Local\Programs\Python\Python39\lib\site-packages\tensorflow\python\training\tracking\base.py", line 522, in _method_wrapper
result = method(self, *args, **kwargs)
File "C:\Users\Cinna\AppData\Local\Programs\Python\Python39\lib\site-packages\keras\engine\base_layer.py", line 323, in __init__
generic_utils.validate_kwargs(kwargs, allowed_kwargs)
File "C:\Users\Cinna\AppData\Local\Programs\Python\Python39\lib\site-packages\keras\utils\generic_utils.py", line 1134, in validate_kwargs
raise TypeError(error_message, kwarg)
TypeError: ('Keyword argument not understood:', 'subsample')
我发现,如果我修改了keras配置的文件base_layer.py,并在第312行的列表中添加了更多“可接受”的参数,我就不会再出现这些错误,但这似乎是一种奇怪的方式
allowed_kwargs = {
'input_dim',
'input_shape',
'batch_input_shape',
'batch_size',
'weights',
'activity_regularizer',
#'subsample',
#'init',
#'border_mode',
#'bias',
#'W_regularizer',
#'b_regularizer',
'autocast',
'implementation',
}
我更喜欢只修改项目的源代码,而不是kera的,我只是不明白怎么做。这些关键字不在配置文件中肯定是有原因的,但是我应该如何使它工作呢
谢谢,我认为问题在于Keras的版本不匹配
Convolution2D
在Keras 2.5.0中是一个不推荐使用的函数,它已被Conv2D
取代,子样本
参数已被stride
取代。您需要安装旧版本的Keras,如1.2.2,或者修改model.py代码,使其与新的Keras兼容
有关更多信息,请查看:
- Keras 1.2.2(旧)文件:
- Keras 2.0.5(新)文件:
Convolution2D
在Keras 2.5.0中是一个不推荐使用的函数,它已被Conv2D
取代,子样本
参数已被stride
取代。您需要安装旧版本的Keras,如1.2.2,或者修改model.py代码,使其与新的Keras兼容
有关更多信息,请查看:
- Keras 1.2.2(旧)文件:
- Keras 2.0.5(新)文件:
allowed_kwargs = {
'input_dim',
'input_shape',
'batch_input_shape',
'batch_size',
'weights',
'activity_regularizer',
#'subsample',
#'init',
#'border_mode',
#'bias',
#'W_regularizer',
#'b_regularizer',
'autocast',
'implementation',
}