Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kaggle の Julia Kernel が動く Docker を 1.0 に対応させる

regonn
September 15, 2018

Kaggle の Julia Kernel が動く Docker を 1.0 に対応させる

Workshop in VR #1 での発表
Kaggle の Julia Kernel が動いている Docker ファイルを Julia 1.0 に対応させた話

regonn

September 15, 2018
Tweet

More Decks by regonn

Other Decks in Technology

Transcript

  1. 自己紹介 • バーチャル俳人データサイエンティスト ◦ Twitter: @regonn_haizine ◦ フリーランス ◦ 2018/03より松江に移住(Iターン)

    ◦ データサイエンス ▪ Podcast: regonn&curry.fm ▪ YouTube: 田中TOM ◦ ストロングゼロ ▪ Podcast: 今夜も Strong x Strong ◦ クイズ&ゲーム ▪ YouTube: やってみよう! ◦ 俳句 ▪ YouTube: 恋言(VTuber, VRアカデミア)
  2. Kaggle? • 世界中のデータサイエンティストが参加するコミュニティ ◦ 例) 一番猫の画像を探し出す AIを作って精度が一番高い人が優勝 • 常にコンペティションが開催されており、日本人で参加している人も多い ◦

    kaggler-jaという日本人のSlackコミュニティもある • ランキング上位者にはメダルがもらえてメダルが貯まると称号が手に入る • 自分の解法を公開(Kernel)することができて、良い解法だとメダルもらえる
  3. Julia 0.6 => 1.0.0 へ プルリク出してる Update to 1.0.0 by

    regonn · Pull Request #6 · Kaggle/docker-julia https://github.com/Kaggle/docker-julia/pull/6/files 無反応
  4. 主な変更点 (Docker) docker pull ubuntu:16.04 docker pull julia:1.0.0 • 今までubuntuイメージから作って、

    juliaをビルドしていたが直接juliaの公 式dockerイメージを使うように • 他のPythonとRでも別のイメージ使っ ているので問題なさそう
  5. 主な変更点 (パッケージ管理) metadata_packages = [ "BinDeps", "Bootstrap", …] for package=metadata_packages

    Pkg.add(package) end Pkg.add(metadata_packages) • いままで Package 一覧の配列を for 文で回す必要があった • 配列のまま渡しても大丈夫になってる • 0.6 だと REQUIRE ファイルでパッ ケージ管理ができたが、1.0だとUUID も管理するようになったので、このよう にしたほうが良さそう
  6. 主な変更点 (パッケージキャッシュ) RUN julia -e "Base.compilecache(\"BinDeps\")" RUN julia -e "Base.compilecache(Base.identify_package(\"BinDeps\"))"

    • パッケージのキャッシュを 事前に行う際にはUUIDで 指定する必要がでてきた • identify_packageが公式ド キュメントにも載ってなく て、ここが一番詰んだポイ ント