我正在尝试开发一个Python脚本来部署在AWS Lambda上,它将处理调用,准备数据,然后将数据输入到Julia脚本中进行处理(与Pandas相比,我正在考虑Julia以加快执行时间)。我一直在本地使用PyJulia库,试图获得一个简单的测试示例,但遇到了问题。这种设置的问题是什么?
下面是简单的Python代码:
python_handler.py
from julia import core.Julia
x = Julia()
print(x.eval("julia_script.jl"))
下面是要调用的Julia脚本:
julia_script.jl
for
我被困在一个拥有GPU的服务器上,让Julia在Ubuntu16.04上运行。基本上,我们想要利用GPU的力量。我们使用Docker映像来托管Julia,它是从nvidia-cuda中提取出来的,码头映像正在成功构建,但是当我用任何开关运行朱莉娅时--朱莉娅-v或者只是朱莉娅,我得到了错误:无法在系统映像中找到兼容的目标。我试着在网上找到提示,但没有运气,因此在这里发布问题。在构建了对接图像之后,我使用docker运行命令,通过挂载一些共享文件夹,它将成功运行,但是Julia似乎无法工作。请让我知道我在这里做了什么。以下是Dockerfile代码
FROM nvidia/cuda:9.
我正在学习julia (v1.6),我正在尝试创建一个julia函数,以便从python类(pycall等价物)中运行julia方法,其中该方法是一个打印。
我尝试了不同的事情,得到了不同的错误,要么创建类,要么调用方法或其他错误。
(作为参考)
这是我正在使用的代码。
using PyCall
# Python Class
@pydef mutable struct python_class
function __init__(self, a)
self.a = a
end
# Julia Method embeded in Python Class
我试图使用run()或success()从Julia执行Python脚本。
如果我手动指定命令,我可以很好地运行它:
julia> run(`python sample.py`)
woo! sample
但是,如果我试图通过字符串参数运行它,它突然就不能工作了。
julia> str = "python sample.py"
"python sample.py"
julia> run( `$str` )
ERROR: could not spawn `'python sample.py'`: no such file or d
这是我在运行我的程序时得到的错误。我使用的是Ubuntu 16.04,安装了Python 2.7.12。我安装了anaconda,希望这能帮助解决这个问题,但它没有。
当我在julia内部运行Conda.list()时,我得到了"matplotlib“和"basemap”(我想包括mpl_toolkits ),当我在julia之外运行conda list时(bash?)我得到了一个更长的列表,其中还包含"matplotlib“和"basemap”。
sys:1: UserWarning: This call to matplotlib.use() has
我正尝试在我的系统上构建PyJulia,但在尝试通过Python安装时出现以下错误:
>>> import julia
>>> julia.install()
ERROR: LoadError: ArgumentError: Package Pkg not found in current path:
- Run `import Pkg; Pkg.add("Pkg")` to install the Pkg package.
Stacktrace:
[1] require(::Module, ::Symbol) at .\loading.
我的julia笔记本运行良好,但是今天出现了这个“内核错误”,我不知道如何处理这个问题:
Traceback (most recent call last):
File "/home/antonio/anaconda3/lib/python3.9/site-packages/tornado/web.py", line 1704, in _execute
result = await result
File "/home/antonio/anaconda3/lib/python3.9/site-packages/tornado/gen.py"
我正在使用Python创建一个调用Julia代码的Docker
我想用我的代码编译一个Julia系统映像,这样它就可以快速启动。这一切都在我的OSX Mac Pro上运行得很好。
在我的Dockerfile中,我从Julia开始,然后安装Python和我的需求
FROM julia:latest
WORKDIR /app
COPY requirements.txt /app
RUN apt-get update
RUN apt-get install python3 python3-pip -y
RUN pip3 install --upgrade pip
RUN pip3 instal
例如,我有一个基本类型的抽象类型,我希望实现一个类型工厂,它在这个抽象类型下动态地创建具体类型,并使用用户输入参数给出的名称(和其他类型特征)。
abstract type AbstractFoo end
function TypeFactory(typename::String, supertype::DataType)
...
return ConcreteSubtype
end
函数TypeFactory使用typename和supertype参数,并创建一个属于supertype的具体类型,其名称与typename相同。
我知道这种类工厂在Python (例如)中实现
我想在Python脚本中运行Julia文件。Julia文件是 func1.jl using LowRankApprox
using LinearAlgebra
function f(A)
F = pqrfact(A)
M = A * F[:P]
return M
end
function k(A)
F = pqrfact(A)
k = F[:k]
return k
end 这段代码在Atom中工作得很好。但我需要它在Python脚本中工作。我的Python脚本是: import numpy as np
import ju
有人知道如何在Python中调用Julia函数时为Pyjulia添加处理器吗?我需要使用Python来调用使用多核的Julia函数,并将值返回给Python。
Python代码testJulia_addproc.py
import julia
j = julia.Julia()
print("Core number = {}".format(j.nprocs()))
j.include("test_addproc.jl")
a = j.eval("test_addproc()")
print a
Julia代码test_addproc.jl
fu
任何访问本地和全局作用域并操作这些范围的可能性。也许类似于这个python示例:
def foo():
x = 10
globals().update(locals()) # update global parameters
print(x) # continue using x
我想在不对变量单独使用global的情况下这样做。
我安装了Julia从Python (Anaconda)调用。当我尝试调用PyJulia时,我得到这个错误,并且我不确定如何修复它:
Python 3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from julia.api im
我用的是Mac电脑。假设我在终端中打开Julia (REPL)。然后我输入ctrl+d并获取
[Process Completed]
那我就不能再使用终端窗口了!有没有办法“重置”窗口,或者我必须打开一个新的?如果我运行一个简单的程序,也会发生这种情况:
$ echo 'println(PROGRAM_FILE); for x in ARGS; println(x); end' > script.jl
$ julia script.jl foo bar
script.jl
foo
bar
[Process completed]
编辑:为了澄清这个问题:我可以输入pyth
请参见Python代码,用于在给定的两个数字之间查找下端和上部的素数:
lower = 3
upper = 15
print("Prime numbers between", lower, "and", upper, "are:")
for num in range(lower, upper + 1):
for i in range(2, num):
if (num % i) == 0:
break
else:
print(num)
Python输出:
Prime numbers
这个展示了如何在Python中重复字符串中的单个字符。
>>> s = '123abc'
>>> n = 3
>>> ''.join([c*n for c in s])
'111222333aaabbbccc'
你怎么能在朱莉娅身上做到这一点?
编辑
作为朱莉娅的新手,我对这种语言所能提供的东西感到惊讶。
例如,我认为上面的Python代码与任何语言中的代码一样简单。但是,正如我下面的答案所示,Julia等效代码join([c^n for c in s])可以说是更简单的,并且可能达到任何语言
我对朱莉娅有点陌生,但我在Python方面有一些知识。我现在正在学习朱莉娅,我想知道如何从朱莉娅的Numpy中表示Python函数"zeros_like“。python代码如下:
import numpy as np
a = [3] #vector of one number
b = np.zeros_like(a)
我试图以一种特定的方式将一个参数传递给map()中的匿名函数(参见代码示例)。
朱莉娅的以下代码..。
function f(x,y):map((z)->z+y,x) end
print(f([1,2,3],1))
返回:
MethodError: objects of type Symbol are not callable
Stacktrace:
[1] f(x::Vector{Int64}, y::Int64)
@ Main .\REPL[1]:1
[2] top-level scope
@ REPL[5]:1
同样的代码被翻译成Python。
def f(x,y)