小编Prz*_*fel的帖子

我有一个用 Julia 编写的高性能函数,如何从 Python 中使用它?

我找到了一个 Julia 函数,可以很好地完成我需要的工作。如何快速集成它以便能够从 Python 调用它?

假设函数是

f(x,y) = 2x.+y
Run Code Online (Sandbox Code Playgroud)

从 Python 中使用它的最佳和最优雅的方法是什么?

python python-3.x julia pycall

27
推荐指数
1
解决办法
1182
查看次数

如何使用 Python 的 juliacall 在 Python 中加载自定义 Julia 包

我已经知道如何将 Julia 包导入到 Python 中

但是,现在我使用以下命令创建了自己的简单 Julia 包: using Pkg;Pkg.generate("MyPack");Pkg.activate("MyPack");Pkg.add("StatsBase") 其中文件MyPack/src/MyPack.jl具有以下内容:

module MyPack
using StatsBase

function f1(x, y)
   return 3x + y
end
g(x) = StatsBase.std(x)

export f1

end
Run Code Online (Sandbox Code Playgroud)

现在我想通过juliacall调用f1g函数在 Python 中加载这个 Julia 包。我已经pip3 install juliacall从命令行运行了。如何从 Python 调用上述函数?

python julia

11
推荐指数
1
解决办法
861
查看次数

为什么多处理 Julia 会破坏我的模块导入?

我的团队正在尝试使用多处理和使用julia -p #参数运行一个库(Cbc with JuMP)。我们的代码在一个 julia 包中,所以我们可以使用 运行我们的代码julia --project,它只运行一个进程。然而,尝试同时指定两者julia --project -p 8会破坏我们运行项目的能力,因为在运行using PackageName之后会导致错误。我们还打算使用该PackageCompiler库对其进行编译,因此需要使其与项目一起使用。

我们的项目位于一个文件夹中,其中包含一个 src 目录、一个 Project.toml 和一个 Manifest.toml src 包含:main.jl 和 Solver.jl

Project.toml 包含:

name = "Solver"
uuid = "5a323fe4-ce2a-47f6-9022-780aeeac18fe"
authors = ["..."]
version = "0.1.0"
Run Code Online (Sandbox Code Playgroud)

通常,我们的项目以这种方式开始(单线程)运行良好:

julia --project
julia> using Solver
julia> include("src/main.jl")
Run Code Online (Sandbox Code Playgroud)

如果我们-p 8在启动 Julia 时添加参数,则会在键入时出现错误using Solver

ERROR: On worker 2:
ArgumentError: Package Solver [5a323fe4-ce2a-47f6-9022-780aeeac18fe] is required but does not seem to be …
Run Code Online (Sandbox Code Playgroud)

module multiprocessing julia

6
推荐指数
2
解决办法
369
查看次数

Julia GraphPlot 中有两个(或更多)节点标签集,可能使用 Compose?

以下是 Julia Discourse 的最小工作代码:

using LightGraphs
using GraphPlot
using Colors

g = graphfamous("karate")

membership = [1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,2,1,1,2,1,2,1,2,1,1,1,1,2,1,1,2,1,1,1]
nodelabels = 1:34
nodecolor = [colorant"lightgrey", colorant"orange"]
nodefillc = nodecolor[membership]

colors = [colorant"lightgray" for i in  1:78]
colors[42] = colorant"orange"

gplot(g, nodefillc=nodefillc, layout=circular_layout, edgestrokec=colors, nodelabel=nodelabels)
Run Code Online (Sandbox Code Playgroud)

其产生: 在此输入图像描述

我成功获得了从 1 到 34 的节点标签,但是,我需要为某些特定节点显示另一种类型的标签。例如,某些节点的权重。也就是说,例如,我需要节点 19 的权重为 100,节点 1 的权重为 0.001。

有没有办法显示这样的数据?我可以在 GraphPlot 中找到相关关键字(只有 nodelabel 只接受向量),但我找不到另一个可以用于绘制图形的 Julia 包。

编辑感谢@Dan Getz,在发布到 SE 之前,我有与他建议相同的想法:尝试用格式的字符串标记节点"$i\n $weight" 但是,结果非常令人不满意,正如您在我的一张照片中看到的那样实际图表。橙色的节点 12,与其权重 177.0 分开,\n读起来不太好!

编辑感谢 @Przemyslaw Szufel 也许我的问题可以通过Compose(我实际上已经使用过)来解决,这是GraphPlot. …

label graph julia plots.jl

6
推荐指数
1
解决办法
203
查看次数

如何在 Julia 中绘制热图

我有一个 (21,100) 数组,想将其绘制为二维直方图(热图)。如果我天真地用histogram2d(A, nbins= 20)它只会绘制前 21 个点。

我试图循环它,但后来我有 100 个直方图,有 21 个点。另一个想法是将数据放入 (2100) 数组中,但这似乎是个坏主意。

另外:我有一个散点图/数据,并希望将其显示为热图。一个 bin 中的点越多,颜色越“暗”。所以我有 21 个 x 值,每个 x 值有 100 个 y 值。

histogram heatmap julia

5
推荐指数
1
解决办法
7606
查看次数

在 Windows 上使用 Julia 1.6.0 RC1 时,GR_jll 始终无法预编译

我使用 Julia 1.6.0 RC1,所有包都工作得很好,除了GR_jll预编译失败之外。\n结果也Plots.jl没有得到预编译,因为它有 GR 作为依赖项。

\n

我在安装软件包时看到的消息是:

\n
5 dependencies successfully precompiled in 40 seconds (201 already precompiled, 1 skipped during auto due to previous er\nrors)\n
Run Code Online (Sandbox Code Playgroud)\n

另一方面,当尝试强制预编译时,我看到:

\n
julia> Pkg.precompile()\nPrecompiling project...\n  Progress [========================================>]  1/1\n  \xe2\x9c\x97 GR_jll\n0 dependencies successfully precompiled in 5 seconds (201 already precompiled)\n
Run Code Online (Sandbox Code Playgroud)\n

这非常烦人,我的模块仍未编译。我应该怎么做才能修复这种情况?

\n

julia

5
推荐指数
1
解决办法
1249
查看次数

如何将 Julia 结构完全解压到局部变量中?

我创建了一个包含大量参数的复杂计算模型。由于我需要运行许多场景,因此我决定将所有这些输入参数包装成一个巨大的struct

using Parameters
@with_kw struct MyModel
    a::Int = 5
    b::Float64 = 5.5
    c::Matrix{Float64} = rand(3,4)
    # 40 other parameters go here
end
Run Code Online (Sandbox Code Playgroud)

我有一个对象m作为例子:

m = MyModel(a=15)
Run Code Online (Sandbox Code Playgroud)

现在,在编写数学代码时,我不想m.在每个符号前面都写。因此我需要将结构体字段放入局部变量中。一种方法是使用@unpack宏:

@unpack a, b, c = m
Run Code Online (Sandbox Code Playgroud)

对于我想要在各种函数中解压的巨大结构体来说,这很不方便(请注意,我的结构体有大约 40 个字段)。如何解压该结构而不花费时间并用所有这些参数使我的代码变得混乱?

struct metaprogramming julia

5
推荐指数
1
解决办法
1821
查看次数

如何使用包 AWSS3.jl 连接到在 EC2 实例上运行的 S3 存储桶?

我正在尝试在 AWS 计算集群上使用 Julia,处理来自 Amazon S3 存储桶的数据。

如何在 Julia 中使用AWSS3.jl打开与 S3 存储桶的连接?

我特别想知道配置连接并随后使用 Julia 的该配置的最佳方法是什么。

amazon-s3 amazon-web-services julia

5
推荐指数
1
解决办法
471
查看次数

如何在Julia中使用Anaconda中没有的需要通过pip安装的Python包

我使用 Julia 1.6.0(截至今天的测试版)并希望plfit通过PyCall.

不幸的是,plfit在 Anaconda 中不可用,因此我无法使用 Conda 模块安装它:

julia> using Conda

julia> Conda.add("plfit")
[ Info: Running `conda install -y plfit` in root environment
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - plfit

...
Run Code Online (Sandbox Code Playgroud)

我如何从 Julia 安装这个包?

python pip julia anaconda pycall

3
推荐指数
1
解决办法
241
查看次数

如何将 Julia 与 HTML 网页集成 - 如何从 Web 浏览器中运行的应用程序调用 Julia 函数

我们有一个 Julia 语言计算引擎,我们希望根据来自 HTML 网页的命令触发。

如何从此应用程序连接到 Julia 实例。是否可以通过 REST 服务连接到 Julia?

api rest julia

2
推荐指数
1
解决办法
108
查看次数

如何自动将变量传递出函数?如何将变量从内部作用域传递到外部作用域?

我在 Python 和 Julia 中做了一个项目,并且在诸如(Julia 版本)之类的函数中有代码:

function foo(a,b)
    c = a+b
    #more code here
end
Run Code Online (Sandbox Code Playgroud)

或(Python 版本)

def foo(a,b):
    c=a+b
    #more code here
Run Code Online (Sandbox Code Playgroud)

然后我需要通过检查变量的值来测试这些函数(在函数范围内)。我想避免写print(variables)return variables每次。有什么方法可以帮助我自动将所有变量传递到外部作用域,以便开发环境可以轻松检查它们?

python julia

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