이 스레드에서 제안한 회귀 솔루션을 구현하는 데 문제가 있습니다. 수익 ValueError : 파이썬에서 압축 할 값이 너무 많습니다 (예상 2).
Using Keras ImageDataGenerator in a regression model
또 다른 스택 질문
비슷한 문제를 가지고 : Tensorflow ValueError: Too many vaues to unpack (expected 2)하지만 내 경우에 작동 할 수있는 솔루션을 찾을 수 couldnt한다. 나는 아무 결과없이 수확량에 대한 this 설명을 통해 갔다. 이상한 점은 처음 두 개의 루프가 완료되었지만 출력이 동일하면 세 번째 루프에서 충돌한다는 것입니다.디렉토리의 경우 폴더는 list_of_values에 각각 0.1, 0.3 및 0.5에 해당하는 0, 1 및 2로 레이블이 지정됩니다.
import numpy as np
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(
rescale=1./255,
height_shift_range=0.15,
shear_range=0.2)
def regression_flow_from_directory(flow_from_directory_gen, list_of_values):
for x, y in flow_from_directory_gen:
print (list_of_values[y], list_of_values,y)
yield (x, list_of_values[y])
batch_size=3
list_of_values=[0.1,0.3,0.5]
(x_train,y_train) = regression_flow_from_directory(train_datagen.flow_from_directory(
'figs/train', # this is the target directory
batch_size=batch_size,
class_mode='sparse'),
np.asarray(list_of_values))
출력
Found 9 images belonging to 3 classes.
[ 0.5 0.3 0.1] [ 0.1 0.3 0.5] [2 1 0]
[ 0.3 0.1 0.3] [ 0.1 0.3 0.5] [1 0 1]
[ 0.5 0.5 0.1] [ 0.1 0.3 0.5] [2 2 0]
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-179-3cf97453bd05> in <module>()
5 batch_size=batch_size,
6 class_mode='sparse'),
----> 7 np.asarray(list_of_values))
ValueError: too many values to unpack (expected 2)
편집 : 오류는 두 변수 (x_train, y_train)로 기능 regression_flow_from_directory 복귀했다. x_train 만 반환하면 생성기가 올바르게 전달됩니다.
x_train = regression_flow_from_directory(train_datagen.flow_from_directory(
'figs/train', # this is the target directory
batch_size=batch_size,
class_mode='sparse'),
np.asarray(list_of_values))
StackOverflow에 오신 것을 환영합니다. 도움말 설명서의 게시 지침을 읽고 따르십시오. [최소한의 완전하고 검증 가능한 예제] (http://stackoverflow.com/help/mcve)가 여기에 적용됩니다. 게시 된 코드를 텍스트 파일에 붙여 넣고 설명한 문제를 재현 할 수 있어야합니다. – Prune