Artificact upload for remote instances
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- julia
- Lĩnh vực
- api, machine-learning
Hướng nghiên cứu
Bắt đầu tại src/loggers.jl, quanh các dòng 69-72, và kiểm tra logartifact cùng getrun để hiểu artifact_uri hiện đang được xử lý như thế nào. Trao đổi với các maintainer để quyết định cách phân biệt việc truy cập artifact cục bộ và từ xa, sau đó xác minh implementation đã chọn với một instance MLflow cục bộ và các endpoint GitLab; được xem là hoàn thành khi việc upload artifact từ xa hoạt động mà không làm hỏng quyền truy cập cục bộ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
As per https://github.com/JuliaAI/MLFlowClient.jl/blob/a31b41a91dc32107fa7dcd6ad5a581c116a4ff9c/src/loggers.jl#L69-72 we currently can't upload artifacts to remote servers
Assumes that artifact_uri is mapped to a local directory.
At the moment, this only works if both MLFlow and the client are running on the same host or they map a directory that leads to the same location over NFS, for example.
Some (untested) code along the lines of:
function logartifact(mlf::GitLabMLFlow, run_id::AbstractString, basefilename::AbstractString, data)
mlflowrun = getrun(mlf, run_id)
artifact_uri = mlflowrun.info.artifact_uri
filepath = joinpath(artifact_uri, basefilename)
try
HTTP.post(url, push!(copy(mlf.headers), "Content-Type" => "multipart/form-data" ),
HTTP.Form(Dict(:file => data)))
catch e
error("Unable to upload $(filepath): $e")
end
filepath
end
Would probably work for this purpose and not introduce new dependencies.
The question remains how to differentiate between local and remote file access, as they happen through different interfaces (the headers are irrelevant for file access for example).
I see three options to approach this and would be interested in making a pull request implementing one of these and testing them against a local mlflow instance and the gitlab end points to confirm they are working (for me).
- Use a different subtype of
AbstractMLFlowto denote remote instances. (Probably not preferred) - Keep using a String and just have an if checking for prefixes of "https://" and use HTTP then.
- Switch to using URIs and use file:// to denote file access and check the prefix in an if statement.
This is simply a question of taste i would leave to (some of) the maintainers.
- Ngôn ngữ chính
- Julia
- Star
- 59
- Fork
- 17
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của JuliaAI/MLFlowClient.jl
-
tagbot-manual
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 58/100
JuliaAI/MLFlowClient.jl#83 ·
-
Migrate backend from raw REST API to PythonCall.jl + CondaPkg.jlCó thể làm lại được @pebeto đã nhận 220 ngày trước và không có pull request nào đang mở. Đang mởdocumentation enhancement help wanted
JuliaAI/MLFlowClient.jl#79 · 5 bình luận · 1 người được giao ·
-
Improve local testabilityĐang mởenhancement help wanted
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
JuliaAI/MLFlowClient.jl#31 · 8 bình luận ·
Tất cả issue của JuliaAI/MLFlowClient.jl
Issue tương tự
-
documentation invalid
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
JuliaPhysics/BeamletOptics.jl#190 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
mul! with a Symmetric or Hermitian factor throws for a matrix view whose columns are not contiguousĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
JuliaLang/LinearAlgebra.jl#1829 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
MagneticResonanceImaging/MRIReco.jl#320 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
rfordatascience/tidytuesday#1098 ·
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
trixi-framework/TrixiParticles.jl#1364 ·
Maintainer thường phản hồi trong vòng 2 ngày