フォルダ内のファイルを特定の割合に分ける[Python]
なんでこんなことするの?
CNNで学習するために、画像ファイルをTrainingとValidationに分けたかったから。
画像ファイルを7:3に分けるスクリプト
from glob import glob from os.path import join import random img_src = "/home/img/" # 指定パスのPNG画像ファイルのリストを取得 files = glob(join(img_src, "*.png")) # ファイルの総数を取得 num_files = len(files) # ファイルのリストを7:3に分ける files30 = random.sample(files, int(num_files*0.3)) files70 = random.sample(files, num_files - int(num_files*0.3))
ポイント
- random.sample(リストからランダムでn個の要素を取り出す関数)を使ったこと。
- ファイルの抜けが無いように、(num_file*n) : (1 – numfile*n) の割合で分けたこと。
ディスカッション
コメント一覧
まだ、コメントがありません