こんばんは。kaerururu です。
今回は個人的にざっと調べてみても出てこなかった kaggle api command の使い方のチートシートのようなものを作ったので共有致します。
GitHub のリンク
https://github.com/osuossu8/Utils/blob/master/kaggle_api_usage.py
( i ) 解説など
セットアップやコンペデータの DL などはカレーさんのブログ他、Qiita 記事などに詳しく書かれているので参照されたし。
public のユーザーデータセットの DL についても kaggle datasets download -w (www.kaggle.com 以下をコピペ) で DL できるので問題ないと思います。
個人的にわからなかったのは dataset にファイルを api 経由でアップロードすることだったので少し解説します。
例えば、fuga.txt というファイルをアップロードしたいケース。
まず、hoge/fuga.txt となるように hoge というディレクトリを用意します。
そして、
kaggle datasets init -p hoge
を実行すると hoge/dataset-metadata.json というファイルが生成されます。
以下のようになっているので、
{ "title": "INSERT_TITLE_HERE", "id": "kaerunantoka/INSERT_SLUG_HERE", "licenses": [ { "name": "CCO-1.0" } ] }
このように、 title と id を任意の文字列で書き換えます。
{ "title": "hogefuga", # The dataset title must be between 6 and 50 character "id": "kaerunantoka/hogefuga", "licenses": [ { "name": "CCO-1.0" } ] }
title は 6-50 文字の範囲で書かないと怒られます。
最後に、
kaggle datasets create -p hoge
を実行すると、 https://www.kaggle.com/username/(入力した title)
のパスに fuga.txt がアップロードされます。
( i i ) まとめ
画像コンペやテキストコンペなどのコードコンペで何かとデータセットのアップロードの必要性が多い今日この頃、command でデータのアップロードができると非常にストレスフリーなので活用していただけると幸いです。
( i i i ) 参考
・導入部分(日本語)
http://www.currypurin.com/entry/2018/kaggle-api
・dataset のアップロード関連 (英語)
・本家本元 (英語)
https://github.com/Kaggle/kaggle-api/tree/84895cea61af708a24f0e8ad8307d570e82d8097
- 追記
kaggle kernels output kaerunantoka/save-images-t-image2
kaggle notebook の output file を直接ダウンロードできます。便利。