问题标签 [flux.jl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
keras - 如何在 Julia 中将 Conv1d 与 MXNet.jl 或 Flux 一起使用?
我尝试 使用 mxnet.jl 和 Flux 包将来自https://machinelearningmastery.com/cnn-models-for-human-activity-recognition-time-series-classification的 Conv1d Python Keras 示例翻译成 Julia。
我能够训练模型,但与 Keras 版本相比结果很差。我不确定我做错了什么。我认为输入形状或模型有问题。我有点困惑如何使用 mx.ArrayDataProvider。如您所见,20 个 epoch 后的准确度仅为 ~20%,而不是使用 Keras 时的 ~90%。我尝试了不同的输入形状,但没有成功:(
数据集可从以下网址下载: https ://archive.ics.uci.edu/ml/machine-learning-databases/00240/UCI%20HAR%20Dataset.zip
加载数据集的函数:
MXNet 版本:
更新:在 Flux.jl 中也尝试过几乎相同的精度,所以我认为输入形状有问题。如何在 Flux 或 MXNet 中为 1d Conv 层安排时间序列输入数据?
添加通量版本:
有什么建议吗?提前致谢!
julia - Julia Flux 错误:SGD 优化器未定义
我想在 Flux 中使用优化器,如使用 Flux.jlSGD
进行深度学习的 Julia Academy 教程中所示。这是他们提供的使用 SGD 优化器的笔记本:
但是,当我运行 SGD 时,我得到:
这是我运行时的输出?SGD
:
如您所见,它仍在“也许您的意思”行中显示 SGD。
当我运行本教程中也显示的其他优化器(例如 ADAM)时,我没有收到错误消息。我正在使用 Flux v0.10.0
julia - 我可以通过哪些方式对 Julia 函数进行基准测试?
背景
我自学了机器学习,最近开始研究 Julia 机器学习生态系统。
来自 python 背景并具有一些 Tensorflow 和OpenCV /
skimage
经验,我想将 Julia ML 库(Flux/JuliaImages)与它的同行进行基准测试,看看它真正执行 CV(任何)任务的速度有多快或多慢,并决定是否我应该转向使用 Julia。
我知道如何使用timeit
这样的模块在 python 中执行一个函数所花费的时间:
如何使用适当的库(在本例中为JuliaImages
)比较在 Julia 中执行相同任务的函数的执行时间。
Julia 是否为 time/benchmark 提供任何函数/宏?
arrays - 如何直接修改 Julia 库 Flux 中的权重值?
在 Julia 库 Flux 中,我们有能力采用神经网络,我们称之为网络并使用以下代码m
提取网络的权重:m
这将返回一种Zygote.Params
对象类型,其形式为:
如果我想稍微改变每个权重,我将如何访问它们?
编辑:根据要求,这是以下结构m
:
julia - 如何在 Julia 中访问神经 ODE 的训练参数?
我正在尝试将一个神经 ODE 拟合到使用 Julia 的 DiffEqFlux 的时间序列。这是我的代码:
问题是在 train 函数之前和之后调用n_ode.p
(或)给了我保存值。Flux.params(dudt)
我本来希望从培训中收到最新的更新值。这就是为什么我创建了一个数组来收集训练期间的所有参数值,然后访问它以获取更新的参数。
我在代码中做错了吗?train 函数会自动更新参数吗?如果没有怎么执行?
提前致谢!
julia - 如何训练神经 ODE 来预测 Julia 中的 Lotka Voltera 时间序列?
我想将生成时间序列数据的 ODE 和嵌入在 ODE 中的神经网络解耦,该 ODE 试图学习这些数据的结构。换句话说,我想复制https://julialang.org/blog/2019/01/fluxdiffeq/中提供的时间序列外推示例,但具有不同的底层函数,即我使用 Lotka-Voltera 生成数据。
我在 Julia 中的工作流程如下(请注意,我对 Julia 很陌生,但我希望它很清楚。):
但是我可以观察到我的 NN 并没有学到太多东西,它停滞不前,并且使用 Euler 和 Tsit5 时的损失保持在 155 左右,而使用 RK4 时表现更好(损失 142)。
如果有人指出我在执行过程中是否出错或者这种行为是预期的,我将非常感激。
julia - 如何在 Julia 中使用 ImplicitEuler 求解器?
尝试调用隐式欧拉求解 ODE 时,我收到以下错误:
这就是我调用求解器的方式:
调用 ImplicitEuler 的正确方法是什么?
neural-network - Julia Flux 双重推理问题
最近我发现 Julia lang 变得更强大了,是时候重新审视它了。但是在每个教程中,我都发现双重推理存在同样的问题——对于每个批次,您必须计算模型以获得梯度,然后重新计算它以获得损失和其他指标。这似乎很荒谬,它必须是一条出路。我可以在不重新计算的情况下在梯度更新步骤之前获得模型预测及其损失吗?这里我为 MLP 和 MNIST 做了一个例子
julia - Julia 在 Lotka Volterra 模型上的 DiffEqFlux 示例中三次项的来源
我在这里玩 Julia 的 DiffEqFlux 库中的示例代码: https ://github.com/SciML/DiffEqFlux.jl/blob/master/README.md#training-a-neural-ordinary-differential-equation 。
我相信 true_A 是 Lotka-Volterra 模型的雅可比行列式。但是我不明白 du 中 u.^3 的数学来源。请指导我或解释 u.^3 是如何产生的。谢谢!