【发布时间】:2020-05-05 20:03:12
【问题描述】:
我是 Julia 的新手,正在尝试通过神经网络项目学习一些东西。 我想根据我作为输入提供的层数为网络创建一个结构。这是基于此处的示例:(http://neuralnetworksanddeeplearning.com/chap1.html#implementing_our_network_to_classify_digits)。 (非常好)
我正在从该文本中复制代码:
class Network(object):
def __init__(self, sizes):
self.num_layers = len(sizes)
self.sizes = sizes
self.biases = [np.random.randn(y, 1) for y in sizes[1:]]
self.weights = [np.random.randn(y, x)
for x, y in zip(sizes[:-1], sizes[1:])]
在此代码中,列表大小包含各个层中的神经元数量。因此,例如,如果我们想创建一个 Network 对象,其中第一层有 2 个神经元,第二层有 3 个神经元,最后一层有 1 个神经元,我们可以使用以下代码:
net = Network([2, 3, 1])"
我在 Julia 中尝试过类似的方法:
struct NTWRK(nt)
numlayers=length(nt)
Nsizes=nt
biases= [rand(Float32,nt[i+1]) for i=1:length(nt)-1]
weights=[rand(Float32,(nt[i+1],nt[i])) for i=1:length(nt)-1]
end
network=NTWRK([784, 16, 16, 10])
我收到以下错误:
ERROR: syntax: "numlayers = length(nt)" inside type definition is reserved
Stacktrace:
[1] top-level scope at none:0
我尝试了各种方法,但根据我在开始时提供的输入,我无法获得包含所有预期字段的对象。有什么建议吗?
谢谢!
【问题讨论】: