前提・実現したいこと
ここに質問の内容を詳しく書いてください。
画像が100枚入っているフォルダから50枚ずつ読み込み、numpy配列に変換してnpyファイルを保存する処理を2回するコードを書いています。
コード実行後、npyファイルはちゃんと2つ保存されていたのですが、中身を見るとそれぞれ100枚ずつ保存されているようでした。
rn.sampleでフォルダ内からランダムに50枚選択するようにしていたのですが、書き方が間違っているでしょうか。
お忙しいところ恐れ入りますが修正方法についてアドバイスをいただけますと幸いです。
該当のソースコード
img_size = (1000, 500) dir_name ='./train file_type = 'jpeg' img_list = glob.glob('./' + dir_name + '/*.' + file_type) for i in range(2): train_img_array_list = [] rn.sample(img_list, 50) #iが1増加するたび、ランダムに選択した50枚の画像を読み込み for img in img_list: train_img = load_img(img,grayscale=True,target_size=(img_size)) train_img_array = img_to_array(train_img) /255 train_img_array_list.append(train_img_array) train_img_array_list = np.array(train_img_array_list) file_name = os.path.join('.', 'image'+'{0:04d}'.format(i)+'.npy')#連番でnpyファイルを保存 np.save(file_name, train_img_array_list)
補足情報(FW/ツールのバージョンなど)
mac PCからGoogle colabを利用して実装しています。
stack overflowでも同じ質問をしています。
どちらかでご回答をいただきましたら、共有をさせていただきます。
https://ja.stackoverflow.com/questions/54595/python3-%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%86%85%E3%81%8B%E3%82%89%E7%94%BB%E5%83%8F%E3%82%92%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%81%AB%EF%BC%95%EF%BC%90%E6%9E%9A%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%9F%E3%81%84
https://ja.stackoverflow.com/questions/54595/python3-フォルダ内から画像をランダムに50枚選択したい
マルチポストですね。こちらを参考に対応していただけるといいかと。 https://teratail.com/help#posted-otherservice
ありがとうございます。teratailではマルチポストは推奨されていないのですね。質問を編集させて頂きます。
『こちらでご回答が得られなかったため』とは、どういう意味でしょうか。StackOverflowでの質問投稿時刻は日本時間で13時過ぎですから、私が既に回答していますが。
追記:
この投稿は14:47に修正された質問内容に対するものです。現在では次のように『誤字』が修正されています。『誤字』が。
https://teratail.com/questions/history-questions/187075
メモ:
およそ15:12にBAが付きました。
「コードの始めに、import random as rnとしてインポートしています。」という情報が向こうに追記されていないため、向こうで回答者に対して余計な(=本来必要がない)推測をさせた上で同じ内容の別の回答が付いちゃってますよね。こちらで判明した事実や足りない部分をちゃんと共有してください。マルチポストというのは、そうやって他人の時間や労力を無自覚に奪うのです。それとページが2つあることは事例を後から検索する人の時間も奪います。teratailの指針はリーズナブルだと思っています。
回答1件
あなたの回答
tips
プレビュー