don't write full modified code write only snippet of what i have to change to fix this problem in this code 

File "c:\users\nigam\desktop\project\vgg16testing\vgg16test2.py", line 100, in index
 features, filenames = load\_all\_features()
ValueError: too many values to unpack (expected 2)
192.168.0.104 - - [10/Mar/2023 03:17:47] "GET / HTTP/1.1" 500 -

# -\*- coding: utf-8 -\*-
"""
Created on Fri Mar 10 01:16:00 2023

@author: nigam
"""

import os
import cv2
import numpy as np
from keras.preprocessing import image
from keras.applications.vgg16 import VGG16, preprocess\_input, decode\_predictions
from sklearn.neighbors import NearestNeighbors
import tkinter as tk
from tkinter import filedialog
import webbrowser
from flask import Flask, request, render\_template

app = Flask(\_\_name\_\_)

# Set the paths for the image folder, features folder, and the model
image\_folder = 'C:/Users/nigam/Desktop/Project/vgg16testing/static/img'
features\_folder = 'H:/cbir/ImageRetrieval/features'
model\_path = 'vgg16\_weights\_tf\_dim\_ordering\_tf\_kernels\_notop.h5'

# Set the number of images to return as results
num\_results = 5

# Load the VGG16 model
model = VGG16(weights='imagenet', include\_top=False)

# Function to extract features of an image using the VGG16 model
def extract\_features(image\_path, model):
 image = cv2.imread(image\_path)
 image = cv2.resize(image, (224, 224))
 image = image[...,::-1] # Convert BGR to RGB
 image = np.expand\_dims(image, axis=0)
 image = preprocess\_input(image) # Preprocess the image
 features = model.predict(image)
 features = features.flatten()
 return features

# Function to extract features of all images in the image folder and save them to the features folder
def extract\_all\_features():
 for filename in os.listdir(image\_folder):
 image\_path = os.path.join(image\_folder, filename)
 features\_path = os.path.join(features\_folder, os.path.splitext(filename)[0] + '.npy')
 if not os.path.isfile(features\_path): # Check if features file already exists
 features = extract\_features(image\_path, model)
 np.save(features\_path, features)

# Function to load the features of all images in the features folder
def load\_all\_features():
 features = []
 filenames = []
 for filename in os.listdir(features\_folder):
 if filename.endswith(".npy"):
 features\_path = os.path.join(features\_folder, filename)
 feature = np.load(features\_path)
 features.append(feature)
 filenames.append(os.path.splitext(filename)[0])
 return features

# Function to extract features of the query image, save it to the features folder, and then load the features of all images in the features folder
def extract\_and\_load\_features(image\_path):
 features\_path = os.path.join(features\_folder, os.path.splitext(os.path.basename(image\_path))[0] + '.npy')
 if os.path.isfile(features\_path):
 features = np.load(features\_path)
 else:
 features = extract\_features(image\_path, model)
 np.save(features\_path, features)
 return features
# Function to perform a search on the features to find the closest matches
def search(query\_features, features):
 knn = NearestNeighbors(n\_neighbors=min(num\_results, len(features)), metric='cosine')
 features = np.array(features)
 features = features.reshape(features.shape[0], -1) # reshape to 2D
 knn.fit(features)
 distances, indices = knn.kneighbors(query\_features.reshape(1, -1))
 # Perform search to find the closest matches
 return indices[0]

@app.route("/", methods=["GET", "POST"])
def index():
 if request.method == "POST":
 # Get the file from the POST request
 file = request.files["file"]
 # Save the file to the image folder
 file.save(os.path.join(image\_folder, file.filename))
 # Extract features of the query image, save it to the features folder, and then load the features of all images in the features folder
 features = extract\_and\_load\_features(os.path.join(image\_folder, file.filename))
 # Perform search to find the closest matches
 results = search(features, load\_all\_features())
 # Display results in a web browser
 return render\_template("results.html", query\_image=file.filename, results=results)
 else:
 # Load the features of all images in the features folder
 features, filenames = load\_all\_features()
 return render\_template("index.html")

if \_\_name\_\_ == "\_\_main\_\_":
 app.run("0.0.0.0")
전체 수정 코드를 작성하지 말고 이 코드에서 이 문제를 해결하기 위해 변경해야 할 부분만 작성하세요. 파일 "c:\users\nigam\desktop\project\vgg16testing\vgg16test2.py", 100줄, 인덱스 내 features, filenames = load\_all\_features()ValueError: 언팩할 값이 너무 많습니다(예상 2).192.168.0.104 - - [10/Mar/2023 03:17:47] "GET / HTTP/1.1" 500 -# -\*- 코딩: utf-8 -\*-"""월 10 금 01:16:00 2023에 생성됨@저자: nigam"""import osimport cv2numpy를 np로 임포트keras.preprocessing에서 이미지 가져오기keras.applications.vgg16에서 VGG16, 전처리\_입력, 디코드\_예측을 임포트합니다.sklearn.neighbors에서 NearestNeighbors를 가져옵니다.tkinter를 tk로 임포트tkinter에서 파일로그를 가져옵니다.웹 브라우저 가져오기flask에서 플라스크, 요청, 렌더\_template를 가져옵니다.app = Flask(\_\_name\_\_)# 이미지 폴더, 기능 폴더, 모델의 경로를 설정합니다.image\_folder = 'C:/사용자/nigam/데스크톱/프로젝트/vgg16testing/static/img'features\_folder = 'H:/cbir/ImageRetrieval/features'model\_path = 'vgg16\_weights\_tf\_dim\_ordering\_tf\_kernels\_notop.h5'# 결과로 반환할 이미지 수 설정num\_results = 5# VGG16 모델 로드model = VGG16(weights='imagenet', include\_top=False)# VGG16 모델을 사용하여 이미지의 특징을 추출하는 함수def extract\_features(image\_path, model): image = cv2.imread(image\_path) image = cv2.resize(image, (224, 224)) image = image[...,::-1] # BGR을 RGB로 변환 이미지 = np.expand\_dims(이미지, 축=0) image = preprocess\_input(image) # 이미지 전처리 features = model.predict(image) features = features.flatten() 특징 반환# 이미지 폴더에 있는 모든 이미지의 특징을 추출하여 특징 폴더에 저장하는 함수def extract\_all\_features(): for filename in os.listdir(image\_folder): image\_path = os.path.join(image\_folder, filename) features\_path = os.path.join(features\_folder, os.path.splitext(filename)[0] + '.npy') os.path.isfile(features\_path)이 아니라면: # 기능 파일이 이미 있는지 확인 features = extract\_features(image\_path, model) np.save(features\_path, features)# 특징 폴더에 있는 모든 이미지의 특징을 불러오는 함수def load\_all\_features(): features = [] filenames = [] for filename in os.listdir(features\_folder): if filename.endswith(".npy"): features\_path = os.path.join(features\_folder, filename) feature = np.load(features\_path) features.append(feature) filenames.append(os.path.splitext(filename)[0]) 반환 기능# 쿼리 이미지의 특징을 추출하여 특징 폴더에 저장한 후 특징 폴더에 있는 모든 이미지의 특징을 로드하는 함수입니다.def extract\_and\_load\_features(image\_path): features\_path = os.path.join(features\_folder, os.path.splitext(os.path.basename(image\_path))[0] + '.npy') if os.path.isfile(features\_path): features = np.load(features\_path) else: features = extract\_features(image\_path, model) np.save(features\_path, features) 반환 기능# 가장 가까운 일치 항목을 찾기 위해 특징에 대한 검색을 수행하는 함수def search(query\_features, features): knn = NearestNeighbors(n\_neighbors=min(num\_results, len(features)), metric='cosine') features = np.array(features) features = features.reshape(features.shape[0], -1) # 2D로 재형성 knn.fit(features) 거리, 인덱스 = knn.kneighbors(query\_features.reshape(1, -1)) # 검색을 수행하여 가장 가까운 일치점을 찾습니다. return indices[0]app.route("/", methods=["GET", "POST"])def index(): if request.method == "POST": # POST 요청에서 파일을 가져옵니다. file = request.files["file"] # 이미지 폴더에 파일 저장 file.save(os.path.join(image\_folder, file.filename)) # 쿼리 이미지의 특징을 추출하여 특징 폴더에 저장한 다음 특징 폴더에 있는 모든 이미지의 특징을 로드합니다. features = extract\_and\_load\_features(os.path.join(image\_folder, file.filename)) # 검색을 수행하여 가장 가까운 일치 항목을 찾습니다. results = search(features, load\_all\_features()) # 웹 브라우저에 결과 표시 return render\_template("results.html", query\_image=file.filename, results=results) else: # features 폴더에 있는 모든 이미지의 기능을 로드합니다. features, filenames = load\_all\_features() 반환 렌더\_template("index.html")if \_\_name\_\_ == "\_\_main\_\_": app.run("0.0.0.0")