質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

4904閲覧

指定されたパスが見つかりません というエラー

nikestave

総合スコア20

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/07/24 05:17

前提・実現したいこと

機械学習の画像データへのラベル付けのためのプログラムを
JupyterNotebookで書いています.

ディレクトリを指定してファイルの中の画像にアクセスしたいのですが,
指定されたパスが見つからないというエラーが出てしまいます.
プログラムのある階層とフォルダのある階層は同じなのですが,なぜエラーが出るのかわかりません.
また,絶対パス等も試しましたが,別なエラーが出ます.

解決法を教えていただけると嬉しいです.

発生している問題・エラーメッセージ

FileNotFoundError Traceback (most recent call last) <ipython-input-6-b1f3e70764b9> in <module>() 8 label = np.zeros(len(paths)-1) 9 for cnt_path, path in enumerate(paths): ---> 10 files = os.listdir(path) 11 for cnt_file, f in enumerate(files): 12 file_path = path + '/' + str(f) FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: './shin_300, ./juku_300'

該当のソースコード

python

1# -*- coding: utf-8 -*- 2import os 3import sys 4import numpy as np 5import cv2 6 7paths = ['./shin_300, ./juku_300'] #各フォルダに同じラベル付けをしたい画像を入れる 8label = np.zeros(len(paths)-1) 9for cnt_path, path in enumerate(paths): 10 files = os.listdir(path) 11 for cnt_file, f in enumerate(files): 12 file_path = path + '/' + str(f) 13 img = cv2.imread(file_path) #すべての画像の読み込み 14 img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #グレイスケール変換 15 if cnt_path==0 and cnt_file==0: 16 size = img.shape 17 img = np.ravel(img) #画像のベクトル化 18 img = (img - np.mean(img)) / np.std(img) #ベクトルの標準化 19 #img = (img - np.min(img)) / (np.max(img) - np.min(img)) #ベクトルの正規化 20 if cnt_path==0 and cnt_file==0: 21 train = img 22 labels = np.insert(label, cnt_path, 1) 23 else: 24 train = np.vstack((train, img)) #trainにベクトル化した画像データをスタックしていく 25 labels = np.vstack((labels, np.insert(label, cnt_path, 1))) #学習ラベル付けを各ディレクトリごとに行う 26 27np.savez('./filename.npz', trainimg=train, trainlabel=labels, imgsize=size) #データセットをnpz形式ファイルで保存 28print("save done")

フォルダの中

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/07/24 05:52

絶対パスを指定したときの別のエラーも提示しましょう
guest

回答2

0

ベストアンサー

pathsの定義がおかしくないですか?

正しくは、こうでは?(相対パス云々は別として)

python

1paths = ['./shin_300', './juku_300']

投稿2019/07/24 06:14

bsdfan

総合スコア4560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nikestave

2019/07/24 06:30

自分でも気づいたのですが,まさにそこでした. ありがとうございます.
guest

0

jupyter notebookは初期のパスが、そのファイルのある場所ではなく別の場所(その環境がある場所?)を参照していたはずです。
なので相対パスで指定したいときには

path = os.getcwd()

でそのjupyterのファイルのある位置を取得して、そこ基準で相対パスを指定すればうまくいくかと思います。

投稿2019/07/24 05:24

kku6

総合スコア47

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nikestave

2019/07/24 05:45

pathで現在のパスを取得後,path/shin_300のようにしてもうまくいきませんでした. 他のコマンド等も試してみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問