问题标签 [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.

0 投票
0 回答
450 浏览

neural-network - 如何在 Flux.jl 中使用预训练模型?

我在 Julia 中使用 Flux 库。如何将 Inception 神经网络导入其中?

我已经看到可以执行以下操作Mocha.jl来导入预训练的网络。

有什么方法可以导入预训练的模型Flux吗?

0 投票
1 回答
70 浏览

julia - Julia 中的 Convolution3d 实现

有没有人在 Julia 中实现了 Convolution3d nn。从预构建的包或从头开始。Flux 和 Mocha 等 ML 库没有实现。我还尝试了 GitHub 存储库,它在 Flux 之上构建了一个 Keras 包装器,并且还通过 Pycall 从 python 直接导入。不幸的是,没有一个有效。

请告诉我。谢谢!!

0 投票
1 回答
323 浏览

machine-learning - Julia ML:是否有推荐的数据格式用于将数据加载到 Flux、Knet、深度学习库

我使用 Tensorflow 进行深度学习工作,但我对 Julia for ML 的一些特性很感兴趣。现在在 Tensorflow 中,协议缓冲区有一个明确的标准——这意味着 TFRecords 格式是将大量数据集加载到 GPU 以进行模型训练的最佳方式。我一直在阅读 Flux、KNET、文档以及其他论坛帖子,以查看是否对最有效的数据格式有任何特别的建议。但我还没有找到一个。

我的问题是,是否有推荐的 Julia ML 库数据格式以方便培训?换句话说,由于性能不佳,我应该避免使用任何明确的数据集格式吗?

现在,我知道有一个Protobuf.jl库,所以用户仍然可以使用协议缓冲区。我现在计划使用协议缓冲区,因为我可以为 Tensorflow 和 Julia 使用相同的数据格式。但是,我还发现了这篇有趣的 Reddit 帖子,内容是关于用户如何不使用协议缓冲区而只使用直接的 Julia 向量。

https://www.reddit.com/r/MachineLearning/comments/994dl7/d_hows_julia_language_mit_for_ml/

我知道 Julia ML 库可能与数据存储格式无关。这意味着无论数据以何种格式存储,数据都会被解码为某种矢量或矩阵格式。所以在那种情况下,我可以使用任何格式。但只是想确保我没有错过文档中的任何内容或由于使用错误的数据存储格式而导致的问题或性能低下的任何内容。

0 投票
1 回答
283 浏览

image - Julia Flux,神经网络中不同维度的图像

我想知道一个细胞是否感染了疟疾(https://www.kaggle.com/iarunava/cell-images-for-detecting-malaria)。但是图片的大小不同,所以我想将每个图像的大小调整为相同的大小,以便能够使用我的第一层(具有静态大小)

如何在 Julia 中调整图像大小?或者我可以只使用通量来计算不同维度的图像吗?

0 投票
2 回答
555 浏览

neural-network - 使用 Julia Flux 构建一个简单的神经网络

我有一个图像数据集(https://www.kaggle.com/iarunava/cell-images-for-detecting-malaria),我想使用神经网络来了解一张图片是否是未感染的细胞。所以我安排我的数据得到 4 个变量:

这些变量中的每一个都是类型Array{Array{Float64,1},1}

我有一个功能来构建一个简单的神经网络(来自一个例子https://smist08.wordpress.com/2018/09/24/julia-flux-for-machine-learning/):

执行后出现此错误simple_nn(X_tests, Y_tests, X_training, Y_training)

错误在这一行:Flux.train!(loss, dataset, opt, cb = throttle(evalcb, 10))

我不知道这些函数在做什么,它们采用什么参数,它们返回什么,我在互联网上找不到任何文档。我只能找到例子。所以我有两个问题:我怎样才能使它适用于我的数据集?是否有 Flux 函数的文档,例如 sklearn?(例如这样:https ://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html )

0 投票
0 回答
272 浏览

neural-network - Julia Flux, Out of Memory with accuracy 函数

我努力让我的神经网络正常工作。我有一个关于是否患有疟疾的细胞图片数据集(https://www.kaggle.com/iarunava/cell-images-for-detecting-malaria)。我这样安排我的数据:

X_tests和相同Y_tests

我的简单神经网络:

我的错误是:

我的矩阵太大了吗?

0 投票
1 回答
336 浏览

machine-learning - 如何创建具有多个输出层的神经网络(Julia、Flux)

说我有以下神经网络

我想知道放什么,而不是???让我的第一个输出神经元通过 RELU 激活函数,第二个通过 sigmoid 函数。该网络的输出是一对要执行的动作,第一个是正实值,另一个是二元选择。

我无法定义一个自定义的“relu_sigma”函数来做出选择,因为它的工作方式是激活函数采用单个值,而不是数组。所以我不能制作一个知道它是把第一个还是第二个Wx+b作为参数的函数。

更一般地说,我想知道如何在任意数量的神经元(例如 5 个 relu、2 个 sigmoid 和最后 4 个上的 softmax)上使用任意数量的函数来制作这种网络

0 投票
2 回答
630 浏览

machine-learning - 停止跟踪 Flux 中的数组 (Julia)

我目前正在尝试在 Flux for Julia 中实现批量更新。

在我的计算过程中,我通过反复做得到一批标量

其中模型是神经网络

我最终得到了数组 deltas,我想在第二个神经网络上执行批量梯度更新(批量大小 = 19),其中每个梯度都被适当的 delta 加权。我写的更新函数是

问题是,计算梯度的线会引发错误:MethodError: no method matching Float32(::Tracker.TrackedReal{Float64})

我认为问题是,我的增量数组被跟踪。查看随机输入的 v_loss_total 函数的输出,我得到:

有趣的是,这个数字被跟踪了两次(?),我猜这来自将两个跟踪的数字相乘(即增量和模型(S_batch)的条目)。有没有办法首先取消跟踪 delta 数组?我将不胜感激任何帮助。

0 投票
1 回答
139 浏览

julia - 以不同的顺序加载 Flux 和 CuArray 会导致错误

我正在尝试让 Flux 和 CuArrays 使用 POP!_OS 在启用 GPU 的笔记本电脑上工作。我在加载的第二个包上出现错误。

我最初没有安装 CUDA 工具,但现在我安装了每个包的错误。

我的 cuda 信息是:

如果我在不同的 Julia 会话中运行以下代码块

我得到:

但是,该错误与不同的包相关联,具体取决于订单。

错误取决于订单

有人对我可以尝试什么有任何想法吗?

谢谢

0 投票
0 回答
259 浏览

dataframe - 数据传递给flux-Julia中分类器的训练函数

这是我第一次在 Julia 中处理 Flux 包。我有数据(列是特征,行是记录)。我不明白损失函数需要什么(只是一个元组或数据框)以及数据应该是什么(元组或数据框)?

功能:Flux.train!(loss, ps, data, opt)

细节在这里这里有一个例子

我试图知道问题出在哪里并在 Atom IDE 上进行了调试,但不明白该怎么做。

  1. 我试图转置我的数据并将行和列作为数据实例,但我遇到了这个错误:

    没有方法匹配 loss(::Float64)

  2. 我试图将数据框作为一个整体,但得到了这个错误:

    没有方法匹配 iterate(::DataFrame)

  3. 我已添加(Iterators.repeated((x, y), 3))为数据,但出现此错误:

    MethodError: 没有方法匹配 (::Dense{typeof(identity),TrackedArray{...,Array{Float32,2}},TrackedArray{...,Array{Float32,1}}})(::DataFrame)

  4. 我试图通过编辑Dense功能修复 3 点,但也没有工作。

你有什么建议?我应该怎么做才能很好地理解 Flux?因为它的文档不足以让我理解。

一个代码试用:

得到这个错误:

没有方法匹配 (::Dense{typeof(identity),TrackedArray{...,Array{Float32,2}},TrackedArray{...,Array{Float32,1}}})(::DataFrame)