我是Julia的初学者,尽管我有Python和其他一些语言的经验。我知道这可能是一个非常简单的/初学者的问题,但我不能理解它在Julia中应该如何工作。
我想创建一个Julia模块。我看到了使用PkgTemplates创建它的建议,所以这正是我所做的。我的目录结构是这样的:

它位于PkgTemplates提出的默认路径:/home/username/.julia/dev/Keras2Flux。
我想用Revise包开发它,因为Julia REPL的启动时间很慢。但是,我无法将我的模块导入终端中的Julia REPL。
因此,我cd到上面提到的目录,使用julia命令并尝试using Keras2Flux。我得到了错误:
ERROR: ArgumentError: Package Keras2Flux not found in current path:我同时尝试了using Keras2Flux和using Keras2Flux.jl,并且我还尝试从我的目录结构的上一级(即/home/username/.julia/dev)调用它。所有这些都有相同的问题。
哪里出了问题(更重要的是,为什么?)以及如何修复它?
模块的当前内容(与问题无关,但仍然如此):
module Keras2Flux
import JSON
using Flux
export convert
function create_dense(config)
in = config["input_dim"]
out = config["output_dim"]
dense = Dense(in, outо)
return dense
end
function create_dropout(config)
p = config["p"]
dropout = Dropout(p)
return dropout
end
function create_model(model_config)
layers = []
for layer_config in model_config
if layer_config["class_name"] == "Dense"
layer = create_dense(layer_config["config"])
elseif layer_config["class_name"] == "Dropout"
layer = create_dropout(layer_config["config"])
else
println(layer_config["class_name"])
throw("unimplemented")
end
push!(layers, layer)
end
model = Chain(layers)
end
function convert(filename)
jsontxt = ""
open(filename, "r") do f
jsontxt = read(f, String)
end
model_params = JSON.parse(jsontxt)
if model_params["keras_version"] == "1.1.0"
create_model(model_params["config"])
else
throw("unimplemented")
end
end
end发布于 2020-06-17 19:54:47
这里有一个完整的食谱,让你开始:
cd("/home/username/.julia/dev")
using Pkg
pkg"generate Keras2Flux"
cd("Keras2Flux")
pkg"activate ."
pkg"add JSON Flux"
# now copy-paste whatever you need to Keras2Flux\src\Keras2Flux.jl
using Revise
using Keras2Flux
# happy development!https://stackoverflow.com/questions/62427351
复制相似问题