朱莉娅 - 相当于tf.layers.dense

时间:2018-05-22 12:50:05

标签: tensorflow neural-network julia

Julia中是否存在创建密集层的函数?

等同于Python中的函数tf.layers.dense

tf.layers.dense(
    inputs,
    units,
    activation=None,
    use_bias=True,
    kernel_initializer=None,
    bias_initializer=tf.zeros_initializer(),
    kernel_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    kernel_constraint=None,
    bias_constraint=None,
    trainable=True,
    name=None,
    reuse=None
)

2 个答案:

答案 0 :(得分:1)

没有, python tensorflow中的Layers module contrib 模块。 这意味着(除其他外), 对于Python之外的任何语言,它通常不会在TensorFlow绑定中使用(因为它与libtensorflow.so中的操作不对应。)

然而,密集层可以从张量流中的第一原理轻松实现。

简单的密集层是:

using TensorFlow
@tf begin
    X=placeholder(Float32; shape=[-1, 10])

    W = get_variable((10, 100), Float32)
    b = get_variable(100, Float32)

    Y = nn.relu(X*W + b)
end

所以从那里你可以建立自己的密集功能 为了让你开始,像

using TensorFlow: get_shape

function dense(inputs::Tensor, units::Int, activation=identity, name=randstring())
    in_dims = get_shape(inputs, 2)

    W = get_variable("W_$name", (in_dims, units), Float32)
    b = get_variable("b_$name", units, Float32)

    activation(inputs*W + b)
end

可以很容易地扩展到你需要做的任何事情。

答案 1 :(得分:0)

查看Flux.jl中的Dense。有关详细信息,请参阅自述文件和文档,但其行为非常相似。

Flux.jl不是TensorFlow,而是一个较新的纯julia神经网络库。