【发布时间】:2020-03-10 13:51:57
【问题描述】:
我看到人们在 Dense 层使用调节器,但在 keras 文档中的 Conv2d 中有一个 kernel_regulizer 参数:
https://keras.io/layers/convolutional/
当我按如下方式添加调节器时:
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 中调用调节器?进口有冲突吗?
【问题讨论】:
-
您确定您运行的代码正确吗?该错误似乎暗示
from tensorflow.python.keras import regularizers在您尝试创建转换层之前没有运行。 -
No 错误在 conv2d 的同一行。在添加
from tensorflow.python.keras import regularizers之前,python 无法识别regularizers.l2()或'l2'等。这是我可以将参数传递给 conv2D 而不会出现 Pycharm IDE 中的行内错误的唯一方法。 -
请提供一个完整的例子来重现错误。
标签: tensorflow keras deep-learning