ランボックス採点スクリプト
ランボックスの採点スクリプトの作成方法について説明します。
ランボックス採点構造
ランボックスの採点はファイルアップロードを基に行われます。学生が提出したファイルに基づいて、Pythonスクリプトがその提出物を検証します。学生の提出物は、すべてのファイルを圧縮した後のサイズが50MBに制限されています。提出するたびに得点と提出物はサーバーに保存され、後で確認することができます。
推奨される提出可能ファイル
提出可能なファイルは制限されていませんが、以下のタイプ に制限することを推奨します。Pythonベースの実習の場合、オブジェクトの直列化のためにpickleを使用することがよくあります。しかし、pickleを使用する場合、任意のコードが実行される可能性があるため、セキュリティ上の理由から使用を推奨しません (公式ドキュメント参照)。
JSON
競技会を除くほとんどのケースで、最も推奨される提出ファイルフォーマットです。
CSV
競技会の提出物フォーマットとして推奨されます。それ以外のケースでは、提出ファイルおよび正解ファイルにCSVではなくJSONを使用することが推奨されます。
PNG
Matplotlibやseabornなどのプロット結果を採点する際に使用します。画像が完全に同じかどうかではなく、類似度を計算する方式を採用するのが良いでしょう。
NumPy array (.npy)
NumPy arrayをそのまま返す関数で採点を行う際に使用します。