Tensorflow Conv2D keras中的调节器
我看到人们在稠密层中使用调节器,但在keras文档的Conv2d中有一个kernel_调节器参数: 当我添加调节器时,如下所示:Tensorflow Conv2D keras中的调节器,tensorflow,keras,deep-learning,Tensorflow,Keras,Deep Learning,我看到人们在稠密层中使用调节器,但在keras文档的Conv2d中有一个kernel_调节器参数: 当我添加调节器时,如下所示: conv1 = Conv2D(32, (3, 15), strides=(1, 2), padding='same', data_format='channels_first', kernel_regularizer=regularizers.l2(), input_shape=x_train_n.shape[1:])(g0) 我得到这个错误: NameError
conv1 = Conv2D(32, (3, 15), strides=(1, 2), padding='same', data_format='channels_first', kernel_regularizer=regularizers.l2(), input_shape=x_train_n.shape[1:])(g0)
我得到这个错误:
NameError: name 'regularizers' is not defined
我已经导入:
import tensorflow as tf
from tensorflow.python.keras.models import Model
from tensorflow.python.keras.layers import Input, Activation, Conv2D, MaxPooling2D, BatchNormalization, UpSampling2D, Lambda, \
Conv2DTranspose, Permute, GaussianNoise, advanced_activations, Add, LeakyReLU, Dropout, ActivityRegularization
from tensorflow.python.keras import regularizers
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.figure as fgr
from tensorflow.python.keras import backend
from tensorflow.python.keras.utils import plot_model, normalize
from tensorflow.python.keras.callbacks import EarlyStopping
如何在Conv2D中调用调节器?进口有冲突吗 我能够运行您的代码,没有任何错误。我们唯一一次收到错误是在场景@戴帽子的家伙提到的,在您尝试创建
Conv2D
层之前,tensorflow.python.keras import regularizers
中的行没有运行
在下面的代码中,注释了tensorflow.python.keras导入正则化器的,然后我们得到了您提到的错误
import tensorflow as tf
from tensorflow.python.keras.models import Model
from tensorflow.python.keras.layers import Input, Activation, Conv2D, MaxPooling2D, BatchNormalization, UpSampling2D, Lambda, \
Conv2DTranspose, Permute, GaussianNoise, advanced_activations, Add, LeakyReLU, Dropout, ActivityRegularization
# from tensorflow.python.keras import regularizers
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.figure as fgr
from tensorflow.python.keras import backend
from tensorflow.python.keras.callbacks import EarlyStopping
conv1 = Conv2D(32, (3, 15), strides=(1, 2), padding='same', data_format='channels_first', kernel_regularizer=regularizers.l2(), input_shape=(32,32,3))
输出-
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-1-2ab79df3a82b> in <module>()
10 from tensorflow.python.keras.callbacks import EarlyStopping
11
---> 12 conv1 = Conv2D(32, (3, 15), strides=(1, 2), padding='same', data_format='channels_first', kernel_regularizer=regularizers.l2(), input_shape=(32,32,3))
NameError: name 'regularizers' is not defined
---------------------------------------------------------------------------
NameError回溯(最近一次呼叫上次)
在()
10从tensorflow.python.keras.callbacks导入EarlyStoping
11
--->12 conv1=Conv2D(32,(3,15),步幅=(1,2),填充=(相同),数据格式=(通道优先),内核正则化器=正则化器.l2(),输入形状=(32,32,3))
NameError:未定义名称“正则化器”
希望这能回答你的问题。愉快学习。您确定代码运行正确吗?该错误似乎暗示,在尝试创建conv层之前,tensorflow.python.keras导入正则化器的行未运行。否错误位于conv2d的同一行。在从tensorflow.python.keras导入正则化器添加之前,python无法识别正则化器.l2()
或'l2'
,等等。这是我将参数传递到conv2D的唯一方法,而不会从Pycharm IDE中产生行内错误。请制作一个完整的示例,重现该错误。