回答編集履歴
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から実行すると、エラーを出さずに動作します。
         
     |