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
)
答案 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神经网络库。