顔画像のデータをクラスタリングしたい


私は開発環境Python(Jupyter
notebook)を用いた国旗画像をクラスタリングするプログラムを用いて顔画像をクラスタリングできるプログラムに改良しようと思っています。

しかし、そのまま顔画像をセットしても分類してもらえません。

以下がソースコードです

[code]

    import os
    import shutil
    import numpy as np
    from PIL import Image
    from skimage import data
    import pandas as pd
    from sklearn.cluster import KMeans
    
    
    for path in os.listdir('C:/Clustering2/human_origin'):
    img=Image.open(f'C:/Clustering2/human_origin/{path}')
    img=img.convert('RGB')
    img_resize=img.resize((200,100))
    img_resize.save(f'C:/Clustering2/human_convert/{path}.jpg')
    
    
    feature=np.array([data.imread(f'C:/Clustering2/human_convert/{path}') for path in os.listdir('C:/Clustering2/human_convert')])
    feature=feature.reshape(len(feature),-1).astype(np.float64)
    
    
    model=KMeans(n_clusters=15).fit(feature)
    
    
    labels=model.labels_
    
    
    for label,path in zip(labels,os.listdir('C:/Clustering2/human_convert')):
    os.makedirs(f"C:/Clustering2/human_group/{label}",exist_ok=True)
    shutil.copyfile(f"C:/Clustering2/human_origin/{path.replace('.jpg','')}",f"C:/Clustering2/human_group/{label}/{path.replace('.jpg','')}")
    print(label,path)
    
[/code]

以下がエラーコードです。

[code]

    No such file or directory: 'C:/Clustering2/human_origin/img_136'
    
[/code]

用意した画像に問題があると思い再三見直しましたが解決しませんでした。




エラーメッセージ「No such file or directory: 'C:/Clustering2/human_origin/img_136'」  
[直訳] 'C:/Clustering2/human_origin/img_136'というファイルもしくはディレクトリはありません  
という内容ですから、「用意した画像に問題がある」のではなく、「用意した画像のファイルに問題(ファイル名が違っている、違うディレクトリに置いている等々)がある」と考えてください。

nekketsuuu氏がコメントしているように、質問のコード中には、"C:/Clustering/"で始まるファイルパスしか書かれていないのですから、'C:/Clustering2/human_origin/img_136'に関したエラーが発生するのは変です。  
実行につかったプログラムのソースを確認してください。




エラーメッセージ「No such file or directory: 'C:/Clustering2/human_origin/img_136'」  
[直訳] 'C:/Clustering2/human_origin/img_136'というファイルもしくはディレクトリはありません  
という内容ですから、「用意した画像に問題がある」のではなく、「用意した画像のファイルに問題(ファイル名が違っている、違うディレクトリに置いている等々)がある」と考えてください。

nekketsuuu氏がコメントしているように、質問のコード中には、"C:/Clustering/"で始まるファイルパスしか書かれていないのですから、'C:/Clustering2/human_origin/img_136'に関したエラーが発生するのは変です。  
実行につかったプログラムのソースを確認してください。

