julia - 可变结构的参数与结构相同
问题描述
我正在尝试创建一个可变结构神经元,其参数输入为神经元向量类型。这在 Julia 中是否可行。以下是我正在做的事情。
mutable struct Neuron
inputs::Vector{Neuron}
weights::Vector{Float64}
func::Function
output::Float64
#= parameters::Vector{Float64} =#
end
我正在使用朱莉娅 1.0。错误:ERROR: LoadError: invalid redefinition of constant Neuron
解决方案
Julia 中可以使用自引用类型,如 Julia 文档所示:https ://docs.julialang.org/en/v1.0.0/manual/constructors/#Incomplete-Initialization-1
这个想法是您使用内部构造函数和new()
构造函数首先创建一个未完全初始化的神经元,然后使用它来创建其他神经元。
mutable struct Neuron
inputs::Vector{Neuron}
# forgetting about the other fields for a second
Neuron() = new()
# or alternatively Neuron() = begin (x=new(); x.inputs = [x]; x) end
end
推荐阅读
- rest - Algolia - Unity/C# | 如何在 Unity 中使用 REST API
- android - 如何在云 Firestore 中仅查询日期(而不是时间)?
- javascript - CSS javascript 动画
- javascript - 如果 aria-valuenow = 0,则将类添加到按钮
- java - 为什么 Jackson Streaming API 很慢?
- python - 在 ubuntu 中运行“apt-get upgrade”时遇到错误
- shell - 在 bash 脚本的循环内执行 terraform
- php - codeigniter:按 ID 从数据库中获取数据
- python - 在python中将gstreamer管道更改为opencv
- react-native - 状态更新只会影响组件,如果它影响父母的风格