###SIGNATEは、データサイエンティストのための統合プラットフォーム。
機械学習コンペを開催しています。
コンペのデータセットは公式ページからダウンロードできますが、データセットはサイズが大きいので
コマンドラインからダウンロードできるとColabに直接ダウンロードできて便利。
SIGNATE CLIでコマンドラインから操作できる。
#手順
###1、SIGNATEのインストール
pip install signate
###2、SIGNATE でアカウント登録
###3、APIトークンのダウンロード
signate token --email=事前準備で登録したemail --password=事前準備で登録したパスワード
The API Token has been downloaded successfully.
SIGNATEのページのアカウント設定からもJsonファイルでトークンを取得できます。
###4、動作確認
signate --help
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
download Download the file of competition
files List file of competition
list List competition
submit Submit a result file to the...
token Download the API Token
###5、signateでやっているコンペの一覧を取得
signate list
###6、コンペの提供データ一覧を取得
signate files --competition-id=<competition-id>
###7、データセットをダウンロード
デフォルトではカレントディレクトリに全てのファイルがダウンロードされます。とのことです。
signate download --competition-id=<competition-id>
僕はColabでやってエラー出ました。次の1ファイルずつダウンロードする方法で無事ダウンロードできました。
Traceback (most recent call last):
File "/usr/local/bin/signate", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.6/dist-packages/signate/cli.py", line 205, in main
response = json.loads(ae.body)
File "/usr/lib/python3.6/json/init.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
JSONと書いてあるので、応募用サンプルのダウンロードでつまづいたのかと。。。
###8、1ファイルずつダウンロード
書き込み先も指定できます。
signate download --competition-id=1 --file-id=1 --path=<保存先ディレクトリのパス>
###9、Zipを解凍
Colab上で解凍できるように、おまけで書いておきます。
Google Driveをマウントして展開すると便利ですよ。
import zipfile
with zipfile.ZipFile("./train_images_1.zip") as existing_zip:
existing_zip.extractall('./')
###10、コンペにファイルを提出
signate submit --competition-id=<competition-id> <提出ファイルのパス>
🐣
フリーランスエンジニアです。
お仕事のご相談こちらまで
rockyshikoku@gmail.com
Core MLを使ったアプリを作っています。
機械学習関連の情報を発信しています。