为什么茱莉亚Julia已经给我输出了,他们却花了一些时间进行进口?

问题描述

我正在与julia学习深度学习,并编写了这些代码

using Linearalgebra
using Plots
using Flux.Data
using PyCall
@pyimport pickle
@pyimport numpy as np
using ScikitLearn
@sk_import datasets: fetch_openml
println("import fin")

我得到这些输出

┌ Warning: `@pyimport foo` is deprecated in favor of `foo = pyimport("foo")`.
│   caller = _pywrap_pyimport(::PyObject) at PyCall.jl:399
└ @ PyCall C:\Users\Username\.julia\packages\PyCall\zqDXB\src\PyCall.jl:399
import fin

但是我收到完成标志后会花费更多时间。我在下一个脚本中运行了一些没什么特别的代码

function AND(x1,x2)
    x = [x1 x2]
    w = [0.5 0.5]       # w1 = w2 ≤ theta
    b = -0.6
    tmp = dot(x,w) + b
    if tmp <= 0
        return 0
    elseif tmp > 0             # 0.5를 넘으면 1,못넘으면 0 반환
        return 1
    end
end

不仅代码,而且markdown文档在导入后还需要一些时间才能运行。是什么原因导致这个问题?

解决方法

您的问题有两个问题:

  1. 您应该将python模块导入为:

    using PyCall
    pickle = pyimport("pickle")
    np = pyimport("numpy")
    
  2. 在Julia中导入模块后,该模块已经过预编译,因此需要时间。如果要避免进行预编译,则需要构建自己的custom Julia image