小编log*_*ick的帖子

为什么要在 Julia 中使用宏?

我正在阅读有关宏的文档,并在“阻止:为什么宏”部分下遇到了以下内容。使用宏的理由如下:

宏是必需的,因为它们在解析代码时执行,因此,宏允许程序员在运行完整程序之前生成并包含自定义代码的片段

这让我想知道为什么有人想要使用“在运行完整程序之前生成并包含自定义代码的片段”。有人可以提供有关为什么这对宏有益和/或其他良好用例的上下文吗?

julia

8
推荐指数
1
解决办法
2521
查看次数

如何在没有溢出的情况下在 Julia 中保存 10^19

我试图将数字 10^19 保存在 Julia 的变量中。

我知道它正在溢出,但我认为做类似的事情BigInt(10^19)Int128(10^19)会解决问题,但事实并非如此。

有什么想法吗?

查看 Julia 的溢出行为

julia

8
推荐指数
1
解决办法
152
查看次数

如何在 Julia 中将一些数据附加到文件中?

我有一个文本文件,我想在其中附加一些字符串而不覆盖现有数据。我怎样才能在 Julia 中实现这一目标?

julia

8
推荐指数
1
解决办法
3360
查看次数

在 Flux (Julia) 的损失函数中使用分位数

我正在尝试在损失函数中使用分位数进行训练!(对于某些稳健性,例如最少修剪的平方),但它会改变数组并且 Zygote 会抛出一个错误Mutating arrays is not supported,来自sort!. 下面是一个简单的例子(内容当然没有意义):

using Flux, StatsBase
xdata = randn(2, 100)   
ydata = randn(100)

model = Chain(Dense(2,10), Dense(10, 1))


function trimmedLoss(x,y; trimFrac=0.f05)
        yhat = model(x)
        absRes = abs.(yhat .- y) |> vec
        trimVal = quantile(absRes, 1.f0-trimFrac) 
        s = sum(ifelse.(absRes .> trimVal,  0.f0 , absRes ))/(length(absRes)*(1.f0-trimFrac))
        #s = sum(absRes)/length(absRes)   # using this and commenting out the two above works (no surprise)    
end

println(trimmedLoss(xdata, ydata)) #works ok

Flux.train!(trimmedLoss, params(model), zip([xdata], [ydata]), ADAM())

println(trimmedLoss(xdata, ydata)) …
Run Code Online (Sandbox Code Playgroud)

machine-learning julia flux.jl

7
推荐指数
1
解决办法
412
查看次数

Julia Flux 错误:SGD 优化器未定义

我想在 Flux 中使用优化器,如 Julia Academy使用 Flux.jlSGD进行深度学习的教程中所示。这是他们提供的笔记本,其中使用 SGD 优化器:

\n\n
opt = SGD(params(model))\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,当我运行 SGD 时,我得到:

\n\n
ERROR: UndefVarError: SGD not defined\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我运行时的输出?SGD

\n\n
search: SGD AMSGrad Signed signed Unsigned unsigned sigmoid issetgid logsigmoid StringIndexError isassigned significand\n\nCouldn\'t find SGD\nPerhaps you meant SGD, Set, Sys, GC, Some, sec, sin, sum, LSTM, csc, esc, isa, ans, abs, cis, cos, eps, ARGS, Pkg, GRU, RNN, cpu, elu, f32, f64, gpu, \xcf\x83, !, !=, !== or …
Run Code Online (Sandbox Code Playgroud)

julia flux.jl

7
推荐指数
1
解决办法
1031
查看次数

在 Julia 中定义函数内的函数

我想知道是否有任何关于在函数中定义函数是推荐还是避免在 Julia 中的指导。

我阅读了Julia Docs 中函数部分,但没有看到提到这个主题。

旁注是有人向我提到这是 Python 中的建议行为,这就是在我脑海中引发这个问题的原因。

julia

7
推荐指数
1
解决办法
592
查看次数

如何在 Julia 中查找包的路径?

我试图在 Julia 中找到特定包的路径。我不知道它到底在哪里,我想使用适当的路径。Julia 中有执行此操作的函数吗?

julia

7
推荐指数
1
解决办法
7491
查看次数

Julia 中的结构继承

鉴于我有一些结构:

julia> struct Car
           wheels::Int64
           engine::Int64
           model::String
       end
Run Code Online (Sandbox Code Playgroud)

有没有办法创建一个新的结构并继承上面Car定义的属性(类似于面向对象编程中的类继承)?

julia

7
推荐指数
1
解决办法
2573
查看次数

如何在 Julia 中创建文件?

有没有一种快速简单的方法可以从 REPL 或 Julia 脚本中创建新文件(无论是 txt 还是 .jl 文件)?我通常会做一些事情,比如使用终端中的 touch 命令(即使它旨在更新文件上次编辑时的时间戳)。

看起来我可以open在“创建”模式下使用该函数,但我宁愿不使用该语法。

julia

7
推荐指数
1
解决办法
1233
查看次数

错误:curl_easy_setopt:48 @ Downloads.Curl

我正在新创建的环境中通过 VS Code 中的 REPL 下载 Flux.jl。当我通过包管理器添加包时,出现了一堆错误,如下所示:

\n
\xe2\x94\x8c Error: curl_easy_setopt: 48\n\xe2\x94\x94 @ Downloads.Curl /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Downloads/src/Curl/utils.jl:36\n\xe2\x94\x8c Error: curl_easy_setopt: 48\n\xe2\x94\x94 @ Downloads.Curl /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Downloads/src/Curl/utils.jl:36\n\xe2\x94\x94 @ Downloads.Curl /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Downloads/src/Curl/utils.jl:36\n
Run Code Online (Sandbox Code Playgroud)\n

这种情况可能发生了 100 次,但软件包看起来仍然安装正确。我还需要在这里做些什么吗?

\n

julia

7
推荐指数
1
解决办法
762
查看次数

标签 统计

julia ×10

flux.jl ×2

machine-learning ×1