lipnet.model.fit() 관련
-
게시물 수정 , 삭제는 로그인 필요
안녕하세요. 이번에 캡스톤에서 입모양 인식 AI 모델을 응용하여 앱에 적용하는 역할을 맡게 된 대학생입니다. 다름이 아니라, LipNet 모델을 finetune하는 코드에서 오류가 발생했는데, 다른 코드와 달리 Chatgpt나 검색을 통해 알아보고 수정해도 해결하지 못하는 오류가 있어 질문하고 싶었습니다.
제가 오류난 부분은 아래입니다.
history = lipnet.model.fit(x = [X_train, y_train, input_length_X, label_length_X], y = y_train, validation_data = [X_val, y_val, input_length_v, label_length_v], batch_size = 8, epochs=100, verbose= 1, callbacks=[checkpoint, early_stopping], initial_epoch=0)
---------------------------------------------------------------------------ValueError Traceback (most recent call last)Cell In[18], line 1----> 1 history = lipnet.model.fit(x = [X_train, y_train, input_length_X, label_length_X], y = y_train, validation_data = [X_val, y_val, input_length_v, label_length_v], batch_size = 8, epochs=100, verbose= 1, callbacks=[checkpoint, early_stopping], initial_epoch=0)File ~\anaconda3\Lib\site-packages\keras\src\utils\traceback_utils.py:122, in filter_traceback.<locals>.error_handler(*args, **kwargs) 119 filtered_tb = _process_traceback_frames(e.__traceback__) 120 # To get the full stack trace, call: 121 # `keras.config.disable_traceback_filtering()`--> 122 raise e.with_traceback(filtered_tb) from None 123 finally: 124 del filtered_tbFile ~\anaconda3\Lib\site-packages\keras\src\trainers\data_adapters\data_adapter_utils.py:50, in unpack_x_y_sample_weight(data) 45 return (data[0], data[1], data[2]) 46 error_msg = ( 47 "Data is expected to be in format `x`, `(x,)`, `(x, y)`, " 48 f"or `(x, y, sample_weight)`, found: {data}" 49 )---> 50 raise ValueError(error_msg)ValueError: Data is expected to be in format `x`, `(x,)`, `(x, y)`, or `(x, y, sample_weight)`, found: (array([[0., 0., 0., ..., 0., 0., 0.], [0., 0., 0., ..., 0., 0., 0.], [0., 0., 0., ..., 0., 0., 0.], ..., [0., 0., 0., ..., 0., 0., 0.], [0., 0., 0., ..., 0., 0., 0.], (이하 생략)
(전체 코드: https://github.com/dnwjddl/LipReading_Korean/blob/master/finetune_LipNet.ipynb)
현재까지 알아본 바, Tensorflow의 Keras가 업데이트 되어서 그런거 같더라고요. 저렇게 한 줄로 적으면 안되는 건지, fit 메소드에 맞춰서 올바르게 적으라고 해서 적어줬음에도, 배열 크기가 맞지 않는다는 등의 문제가 있었습니다...
도대체 뭐가 문제인가요...?
이번에 캡스톤에서 입모양 인식 AI 모델을 응용하여 앱에 적용하는 역할을 맡게 된 대학생입니다.
다름이 아니라, LipNet 모델을 finetune하는 코드에서 오류가 발생했는데, 다른 코드와 달리 Chatgpt나 검색을 통해 알아보고 수정해도 해결하지 못하는 오류가 있어 질문하고 싶었습니다.
제가 오류난 부분은 아래입니다.
history = lipnet.model.fit(x = [X_train, y_train, input_length_X, label_length_X], y = y_train, validation_data = [X_val, y_val, input_length_v, label_length_v], batch_size = 8, epochs=100, verbose= 1, callbacks=[checkpoint, early_stopping], initial_epoch=0)
---------------------------------------------------------------------------ValueError Traceback (most recent call last)Cell In[18], line 1----> 1 history = lipnet.model.fit(x = [X_train, y_train, input_length_X, label_length_X], y = y_train, validation_data = [X_val, y_val, input_length_v, label_length_v], batch_size = 8, epochs=100, verbose= 1, callbacks=[checkpoint, early_stopping], initial_epoch=0)File ~\anaconda3\Lib\site-packages\keras\src\utils\traceback_utils.py:122, in filter_traceback.<locals>.error_handler(*args, **kwargs) 119 filtered_tb = _process_traceback_frames(e.__traceback__) 120 # To get the full stack trace, call: 121 # `keras.config.disable_traceback_filtering()`--> 122 raise e.with_traceback(filtered_tb) from None 123 finally: 124 del filtered_tbFile ~\anaconda3\Lib\site-packages\keras\src\trainers\data_adapters\data_adapter_utils.py:50, in unpack_x_y_sample_weight(data) 45 return (data[0], data[1], data[2]) 46 error_msg = ( 47 "Data is expected to be in format `x`, `(x,)`, `(x, y)`, " 48 f"or `(x, y, sample_weight)`, found: {data}" 49 )---> 50 raise ValueError(error_msg)ValueError: Data is expected to be in format `x`, `(x,)`, `(x, y)`, or `(x, y, sample_weight)`, found: (array([[0., 0., 0., ..., 0., 0., 0.], [0., 0., 0., ..., 0., 0., 0.], [0., 0., 0., ..., 0., 0., 0.], ..., [0., 0., 0., ..., 0., 0., 0.], [0., 0., 0., ..., 0., 0., 0.], (이하 생략)
(전체 코드: https://github.com/dnwjddl/LipReading_Korean/blob/master/finetune_LipNet.ipynb)
현재까지 알아본 바, Tensorflow의 Keras가 업데이트 되어서 그런거 같더라고요. 저렇게 한 줄로 적으면 안되는 건지, fit 메소드에 맞춰서 올바르게 적으라고 해서 적어줬음에도, 배열 크기가 맞지 않는다는 등의 문제가 있었습니다...
도대체 뭐가 문제인가요...?