• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Python, SQL 게시판 functional api 문제

functional api 문제

  • 이 주제에는 6개 답변, 2명 참여가 있으며 codingapple1 년 전에 전에 마지막으로 업데이트했습니다.
7 글 보임 - 1 에서 7 까지 (총 7 중에서)
  • 글쓴이
  • #124458

    CHAEYULL
    참가자
    인스타 피드의 이미지와 게시물 정보 유저 정보를 받아서 힙한 게시물인지 아닌지 판별해주는 모델을 만들어보고있습니다.
    여쭈어보고 싶은건 Model.fit 할 때 부분인데
    먼저 코드 먼저 간략하게 보여 드리겠습니다.
    
    전처리하기 쉽게 데이터 합치기
    스크린샷 2024-05-29 오후 2.08.59
    라벨링 작업 ( 0, 1 로 라벨링)
    스크린샷 2024-05-29 오후 2.09.37
    라벨별로 이미지 분리
    스크린샷 2024-05-29 오후 2.10.00
    이미지 전처리
    스크린샷 2024-05-29 오후 2.10.42
    숫자 데이터 전처리
    스크린샷 2024-05-29 오후 2.12.06
    나머지 데이터 전처리
    스크린샷 2024-05-29 오후 2.12.42
    모델 작성
    스크린샷 2024-05-29 오후 2.14.13
    모델 학습
    스크린샷 2024-05-29 오후 2.15.38
    이렇게 실행 시키면 
    Traceback (most recent call last):
      File "/Users/fergus/PycharmProjects/recommendProject/model.py", line 139, in <module>
        model.fit(x=X_data, y=Y_data, epochs=100, callbacks=[es], batch_size=32)
      File "/opt/anaconda3/envs/python-0521/lib/python3.11/site-packages/keras/src/utils/traceback_utils.py", line 70, in error_handler
        raise e.with_traceback(filtered_tb) from None
      File "/opt/anaconda3/envs/python-0521/lib/python3.11/site-packages/keras/src/engine/data_adapter.py", line 1105, in select_data_adapter
        raise ValueError(
    ValueError: Failed to find data adapter that can handle input: (<class 'list'> containing values of types {"<class 'tensorflow.python.framework.ops.EagerTensor'>", "<class 'tensorflow.python.data.ops.map_op._MapDataset'>"}), <class 'numpy.ndarray'>
    X_data 를 np.array() 로 감싸서 실행을 시키면 
    Traceback (most recent call last):
      File "/Users/fergus/PycharmProjects/recommendProject/model.py", line 133, in <module>
        model.fit(x=np.array(X_data), y=Y_data, epochs=100, callbacks=[es], batch_size=32)
                    ^^^^^^^^^^^^^^^^
    ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (4,) + inhomogeneous part.
    차원이 안맞는다고하는데 차원을 맞추기에는 이미 원핫인코딩이 되어있는걸 4차원으로 늘리는건 비효율적이라는 생각이 듭니다.
    혹시 다른 방법이 없을까요?
    거의 일주일동안 고민해보고있는데 좋은 방법이 떠오르지 않습니다 ㅠㅠ
    #124489

    codingapple
    키 마스터
    np.array(X_data, dtype=object) 해서 x에 집어넣어봅시다
    #124512

    CHAEYULL
    참가자
    Traceback (most recent call last):
      File "/Users/fergus/PycharmProjects/recommendProject/model.py", line 157, in <module>
        model.fit(x=np.array(X_data, dtype=float), y=Y_data, epochs=100, callbacks=[es], batch_size=32)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    TypeError: float() argument must be a string or a real number, not '_MapDataset'
    
    이런 오류가 다시 나오는데 train_ds 가 MapDataset 인데 MapDataset 이 들어가면 그냥 에러를 내는것 같습니다.
    MapDataset을 EagerTensor 로 변환하면 에러를 내고 넘파이 어레이로 바꿔도 에러를 내는것 같습니다 그냥 아예 Mapdataset이랑 나머지를 
    묶는 방법 밖에 없는걸까요
    • 이 답변은 CHAEYULL에 의해 1 년 전에 수정됐습니다.
    #124522

    CHAEYULL
    참가자
    궁금한게 tf.keras.preprocessing.image_dataset_from_directory() 을 사용해서 전처리를 하면
    이미지 데이터와 정답 데이터가 분리가 되잖아요
    그래서 이미지"만" 학습한다면 model.fit()을 할 때 그냥 전처리한 데이터를 집어넣으면 되는데
    지금처럼 여러 인풋을 받고 있을 때는 이미지 데이터를 어떻게 처리해야하나요?
    #124565

    codingapple
    키 마스터
    이미지는 normalize하지말고 Rescaling레이어같은거 써서 normalize해봅시다
    https://stackoverflow.com/a/67526013/22444723 반복문으로 이미지부분만 뽑을 수 있는듯요
    
    #124602

    CHAEYULL
    참가자
    그럼 이미지를 라벨과 이미지로 분리를하면 나중에 학습 할 때 다시 라벨을 맞춰줘야 할 것같은데 
    보통 판다스 데이터 프레임들은 총 열의 개수가 같으니깐 x,y 따로따로 나눠서 넣어도 되는것 같은데 이미지 같은 경우는 어떻게 해야할까요?
    
    #124616

    codingapple
    키 마스터
    이미지 라벨부분이 y 추론하는데 필요 없는거같은데 그럼 버려도 됩니다
7 글 보임 - 1 에서 7 까지 (총 7 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠