tensorflow - 我可以使用 conv2d 和张量操作等现有操作在 python 中的 tensorflow 中编写自定义层吗?

标签 tensorflow deep-learning

如标题所述,我想用现有的ops和tensor操作在tensorflow中实现一个自定义层。我想知道我是否可以像在 theano 中那样在 python 中完成它。在这一层中,输入可能是一些矩阵,批量输入和一些权重和偏差需要学习。经过一些张量操作后,输出将被馈送到下一层。这一层的计算可能比较复杂,不知道tensorflow能不能帮我做auto-diff。

最佳答案

如果您的层是现有操作的组合,它肯定会正常工作。这就是 TF-Slim 的工作原理。

# Skeleton code, just to demonstrate the concept
def conv(input, ...):
    kernel = tf.Variable(...)
    tmp = tf.nn.conv2d(input, kernel, ...)
    bias = tf.Variable(...)
    tmp = tf.nn.bias_add(tmp, bias, ...)
    return tf.nn.relu(tmp, ...)

定义一个函数,为您提供一个“集成”层,该层执行基本卷积层的常用步骤,然后您可以将其用作

layer_1 = conv(input, ...)
layer_2 = conv(layer_1, ...)

等等。只要您只是编写具有渐变的操作,自动微分就会起作用。

关于tensorflow - 我可以使用 conv2d 和张量操作等现有操作在 python 中的 tensorflow 中编写自定义层吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36427219/

相关文章:

python - tensorflow 不训练(只有偏见改变)

tensorflow - 为什么 "softmax_cross_entropy_with_logits_v2"反向传播到标签中

python-3.x - 使用 TensorFlow 在 2D 中绘制梯度下降轨迹时的 Traceback

python - Tensorflow tf.squared_difference 输出意外的形状

machine-learning - 为什么我们要在softmax中使用Temperature?

python - Keras,模型 predict_proba 的输出

python - 如何改进神经网络预测、分类

machine-learning - 在Caffe中实现 "transpose"层时出错

python - 在 TF.Keras 中使用自定义模型进行梯度累积?

python - "zsh: illegal hardware instruction python"在 macbook pro M1 上安装 Tensorflow 时