Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kaggle の Julia Kernel が動く Docker を 1.0 に対応させる
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
regonn
September 15, 2018
Technology
710
0
Share
Kaggle の Julia Kernel が動く Docker を 1.0 に対応させる
Workshop in VR #1 での発表
Kaggle の Julia Kernel が動いている Docker ファイルを Julia 1.0 に対応させた話
regonn
September 15, 2018
More Decks by regonn
See All by regonn
Submission with Numerai Compute using GCP Batch
regonn
0
650
HelloMoon x Orca=HelloOrca
regonn
0
170
The Challenge of Automatically Configuring Numerai Compute Environment
regonn
0
130
Federated Learning 連合学習
regonn
4
1.8k
PLATEAUをデータベースに取り込んでみた
regonn
0
1.8k
古参Numerai参加者の戯言
regonn
1
2.5k
Nim + Cloud Run + TerraformでGCPにNimのサーバーレス環境を作る
regonn
1
690
S+ Camera Basicと似た環境をラズパイから構築してみる
regonn
0
550
衛星画像のゴルフ場写り込み判定AIモデルを作る
regonn
0
850
Other Decks in Technology
See All in Technology
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
890
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
170
「できない」のアウトプット 同人誌『精神を壊してからの』シリーズ出版を 通して得られたこと
comi190327
3
520
MCPで決済に楽にする
mu7889yoon
0
170
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
190
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
4
590
The essence of decision-making lies in primary data
kaminashi
0
220
不確実性と戦いながら見積もりを作成するプロセス/mitsumori-process
hirodragon112
1
170
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
第26回FA設備技術勉強会 - Claude/Claude_codeでデータ分析 -
happysamurai294
0
320
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
1
190
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
81
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
190
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
The Limits of Empathy - UXLibs8
cassininazir
1
280
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
190
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Utilizing Notion as your number one productivity tool
mfonobong
4
280
Transcript
Kaggle の Julia Kernel が動く Docker を1.0 に対応させる Workshop in
VR #1 2018/09/15 れごん
自己紹介 • バーチャル俳人データサイエンティスト ◦ Twitter: @regonn_haizine ◦ フリーランス ◦ 2018/03より松江に移住(Iターン)
◦ データサイエンス ▪ Podcast: regonn&curry.fm ▪ YouTube: 田中TOM ◦ ストロングゼロ ▪ Podcast: 今夜も Strong x Strong ◦ クイズ&ゲーム ▪ YouTube: やってみよう! ◦ 俳句 ▪ YouTube: 恋言(VTuber, VRアカデミア)
今回話すネタ データサイエンス絡みのKaggleとJuliaの話
Kaggle? • 世界中のデータサイエンティストが参加するコミュニティ ◦ 例) 一番猫の画像を探し出す AIを作って精度が一番高い人が優勝 • 常にコンペティションが開催されており、日本人で参加している人も多い ◦
kaggler-jaという日本人のSlackコミュニティもある • ランキング上位者にはメダルがもらえてメダルが貯まると称号が手に入る • 自分の解法を公開(Kernel)することができて、良い解法だとメダルもらえる
Julia? • データサイエンスにおいては、PythonとRという言語が2強 • Pythonのように書きやすく、動作も早い言語が求められてJuliaができた • Pythonを早くするにはライブラリをCやC++実装で書く必要がある • Juliaであれば、ライブラリもJuliaで書いても遅くなりにくい(JIT) •
今後のデータサイエンス分野においても活躍が期待されている
Kaggle と Julia の関係 実はKaggleも以前はJulia(Kernel)に対応していたが、Juliaはで きて日が浅く言語仕様の破壊的変更が多かったためメンテされな くなっている。
普段Julia使っている自分としては他の人のJuliaでの解 法(Kernel)がみたい • 最近Juliaが安定版の1.0.0をリリース ◦ これは、チャンス!!!
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 無反応
主な変更点 (Docker) docker pull ubuntu:16.04 docker pull julia:1.0.0 • 今までubuntuイメージから作って、
juliaをビルドしていたが直接juliaの公 式dockerイメージを使うように • 他のPythonとRでも別のイメージ使っ ているので問題なさそう
主な変更点 (パッケージ管理) metadata_packages = [ "BinDeps", "Bootstrap", …] for package=metadata_packages
Pkg.add(package) end Pkg.add(metadata_packages) • いままで Package 一覧の配列を for 文で回す必要があった • 配列のまま渡しても大丈夫になってる • 0.6 だと REQUIRE ファイルでパッ ケージ管理ができたが、1.0だとUUID も管理するようになったので、このよう にしたほうが良さそう
主な変更点 (パッケージキャッシュ) RUN julia -e "Base.compilecache(\"BinDeps\")" RUN julia -e "Base.compilecache(Base.identify_package(\"BinDeps\"))"
• パッケージのキャッシュを 事前に行う際にはUUIDで 指定する必要がでてきた • identify_packageが公式ド キュメントにも載ってなく て、ここが一番詰んだポイ ント
残TODO • 最近になって 1.0.0 がリリースされたので、まだすべてのパッケージが対応してい ない • Gadfly.jl(グラフ描画)等の人気パッケージも1.0.0未対応だったりするので、これが 解決しないとプルリクは取り込まれなさそう •
けど、今までメンテされていなかったパッケージも1.0.0リリースでメンテされるように なってきている
Kaggle と Julia に明るい未来を! ありがとうございました