回答編集履歴
2
補足を追加
answer
CHANGED
@@ -6,4 +6,14 @@
|
|
6
6
|
|
7
7
|
その場合、「deep-learning-from-scratch」フォルダーが実行時のカレントディレクトリになるので、`sys.path.append(os.pardir)`で追加されるフォルダーが想定(ch03の親のdeep-learning-from-scratch)とは異なるフォルダーになります。すると、そこには「dataset」フォルダーは存在しないため、提示されたエラーが発生します。
|
8
8
|
|
9
|
-
実際に、同じリポジトリをcloneし、その中の「ch03」フォルダーをVSCodeの「フォルダーで開く」で開いて、VSCodeから実行すると、エラーを出さずに動作します。
|
9
|
+
実際に、同じリポジトリをcloneし、その中の「ch03」フォルダーをVSCodeの「フォルダーで開く」で開いて、VSCodeから実行すると、エラーを出さずに動作します。
|
10
|
+
|
11
|
+
対策としては、「カレントディレクトリの親」ではなく、「このコードがあるディレクトリ(フォルダー)の親」を`sys.path.append`に指定すればいいので、
|
12
|
+
|
13
|
+
```Python
|
14
|
+
import pathlib
|
15
|
+
sys.path.append(pathlib.Path(__file__).resolve().parents[1].as_posix())
|
16
|
+
from dataset.mnist import load_mnist
|
17
|
+
```
|
18
|
+
|
19
|
+
のように修正すればいいでしょう。
|
1
補足を追加
answer
CHANGED
@@ -4,6 +4,6 @@
|
|
4
4
|
|
5
5
|
おそらく、あなたは「ch03」フォルダーではなく、その親の「deep-learning-from-scratch」フォルダーをVSCodeで開き、階層構造を辿って「mnist_show.py」を実行しているのではないですか。
|
6
6
|
|
7
|
-
その場合、「deep-learning-from-scratch」フォルダーが実行時のカレントディレクトリになるので、`sys.path.append(os.pardir)`で追加されるフォルダーが想定(ch03の親のdeep-learning-from-scratch)とは異なるフォルダーになります。
|
7
|
+
その場合、「deep-learning-from-scratch」フォルダーが実行時のカレントディレクトリになるので、`sys.path.append(os.pardir)`で追加されるフォルダーが想定(ch03の親のdeep-learning-from-scratch)とは異なるフォルダーになります。すると、そこには「dataset」フォルダーは存在しないため、提示されたエラーが発生します。
|
8
8
|
|
9
9
|
実際に、同じリポジトリをcloneし、その中の「ch03」フォルダーをVSCodeの「フォルダーで開く」で開いて、VSCodeから実行すると、エラーを出さずに動作します。
|