dtakao-lab / Nagao2020

Robust Classification of Cell Cycle Phase and Biological Feature Extraction by Image-Based Deep Learning
https://www.molbiolcell.org/doi/10.1091/mbc.E20-03-0187
9 stars 5 forks source link

2. ImageToArray FilenotFoundError #4

Open masato-mouse opened 2 years ago

masato-mouse commented 2 years ago

2のImageToArrayにてroot下にdataフォルダを作成して下記コードを実行しましたが、エラーが生じました。 環境はpython3.7.13でGoogle Colabで行っています。 dataフォルダがありパスも間違っていないはずで、x_train.npyで保存するようしておりますがエラーが解決しません。 また、フルパスでも試しましたがエラーが発生します。

<試したこと> ・下記記事を参考に修正しましたがエラー発生 変更前)np.save(export_dir+"/x_train.npy",X) 変更後)np.save(os.path.join(export_dir , "x_train.npy") ,X) https://stackoverflow.com/questions/45715236/python-numpy-filenotfounderror-errno-2-no-such-file-or-directory

・フルパスにしたがエラー発生 変更前)np.save(export_dir+"/x_train.npy",X) 変更後)np.save("./content/drive/My Drive/Colab Notebooks/Nagao2020/data/x_train.npy" ,X)

<詳細> FileNotFoundError Traceback (most recent call last) in 36 Y = np.array(Y) 37 ---> 38 np.save(export_dir+"/x_train.npy",X) 39 np.save(export_dir+"/y_train.npy",Y) 40

<__array_function__ internals> in save(*args, **kwargs) [/usr/local/lib/python3.7/dist-packages/numpy/lib/npyio.py](https://localhost:8080/#) in save(file, arr, allow_pickle, fix_imports) 523 if not file.endswith('.npy'): 524 file = file + '.npy' --> 525 file_ctx = open(file, "wb") 526 527 with file_ctx as fid: FileNotFoundError: [Errno 2] No such file or directory: './content/drive/My Drive/Colab Notebooks/Nagao2020/data/x_train.npy'
masato-mouse commented 2 years ago

解決しましたが、コードに2つ問題ありです。 <1点目> 元コード) np.save(export_dir+"/X_test.npy",X) 修正後)  np.save(os.path.join(export_dir , "/x_test.npy") ,X)

修正後にしないと読み込みできません。

<2点目> 元コード)files = glob.glob(image_dir+"/*")

こちらは理屈には合っているはずですが機能しません。 filesが[]と空になります。現在/bmpや glob.glob(os.path.join(image_dir+"/"))にしましたが画像取得できないです。

masato-mouse commented 2 years ago

<2点目>の点、下記に修正してできました。

(元コード) image_dir = test_dir + group files = glob.glob(image_dir+"/*")

(修正後) os.chdir("/content/drive/MyDrive/Colab Notebooks/Nagao2020/image/test/"+group) files = glob.glob("*")