Я новичок в Юлии, хотя у меня есть опыт работы с 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