在Tensorflow JS API 0.15.3中为卷积层设置配置



我有一个我想在javaScript中实现的tensorflow上的keras api在python中制作的CNN。但是在JS API 0.15.3的TF中,我找不到添加卷积层的大步和填充的选项。

我的python代码看起来像这样。

X = Conv2D(64, (2, 2), strides = (1, 1), name = 'conv0')(X_input)

在JS API参考中。

tf.layers.conv2d(args)函数源

2D卷积层(例如图像上的空间卷积)。

该层创建了一个卷积内核,该内核与层输入相卷积以产生输出的张量。

如果USEBIAS为TRUE,则创建偏置向量并添加到输出中。

如果激活不是null,则将其应用于输出。

在模型中使用该层作为第一层时,提供关键字参数inputshape(整数的数组,不包括示例轴),例如。InputShape = [128,128,3]对于DataFormat ='ChannelsLast'中的128x128 RGB图片。 参数:

args(object)

过滤器(数字)输出空间的维度(即卷积中的过滤器数)。

真的很感激是否有人能提供帮助。我应该使用旧的API,例如0.9.0

刚刚发现,即使他们没有提到我们可以将大步和桨作为参数。实际上,我们可以根据源代码。

constructor(rank: number, args: BaseConvLayerArgs) {
    super(args as LayerArgs);
    BaseConv.verifyArgs(args);
    this.rank = rank;
    if (this.rank !== 1 && this.rank !== 2) {
      throw new NotImplementedError(
          `Convolution layer for rank other than 1 or 2 (${this.rank}) is ` +
          `not implemented yet.`);
    }
    this.kernelSize = normalizeArray(args.kernelSize, rank, 'kernelSize');
    this.strides = normalizeArray(
        args.strides == null ? 1 : args.strides, rank, 'strides');
    this.padding = args.padding == null ? 'valid' : args.padding;
    checkPaddingMode(this.padding);
    this.dataFormat =
        args.dataFormat == null ? 'channelsLast' : args.dataFormat;
    checkDataFormat(this.dataFormat);
    this.activation = getActivation(args.activation);
    this.useBias = args.useBias == null ? true : args.useBias;
    this.biasInitializer =
        getInitializer(args.biasInitializer || this.DEFAULT_BIAS_INITIALIZER);
    this.biasConstraint = getConstraint(args.biasConstraint);
    this.biasRegularizer = getRegularizer(args.biasRegularizer);
    this.activityRegularizer = getRegularizer(args.activityRegularizer);
    this.dilationRate = normalizeArray(
        args.dilationRate == null ? 1 : args.dilationRate, rank,
        'dilationRate');

最新更新