高速に大量のファイルをコピーしたい
shutilのコピー時間にストレスを感じたことありませんか?
機械学習の何万枚ものデータセットをコピーするのとか、Colabの継続可能時間に収まりません。
Linuxコマンドが速い
結論から言うと、PythonよりLinuxコマンドでコピーしたほうがずっと速いです。
比較
jpg画像が500枚入ったディレクトリをGoogleドライブからColabにコピーする速度を比較します。
Python
shutil.copytree('source','dest')
15秒
Linuxコマンド
cp -R sorce dest
1.2秒
10倍以上速いです
ちなみにGoogleDriveとColabで数万枚のデータを扱うには
ColabからGoogleDriveをマウントして数万枚のファイルを一気に扱うと、いつまで経っても処理が終わりません。
これは、ドライブの仕様のようです。タイムアウトが発生します。
5000枚程度にディレクトリに分割して処理すると、速いです。
🐣
フリーランスエンジニアです。
お仕事のご相談こちらまで
rockyshikoku@gmail.com
機械学習、ARアプリ(Web/iOS)を作っています。
機械学習/AR関連の情報を発信しています。