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

home2 게시판 Python, SQL 게시판 악성 댓글 AI

악성 댓글 AI

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

    박진우
    참가자

    import tensorflow as tf

    model = tf.keras.models.Sequential ([
      tf.keras.layers.Embedding(len(tokenizer.word_index)+1,16),
      tf.keras.layers.LSTM(50),
      tf.keras.layers.Dense(31,activation='softmax')
    ])

    model.compile(loss = 'categorical_crossentropy', optimizer = 'adam' , metrics =['accuracy'])

    model.fit(trainX, trainY, batch_size=64, epochs =30 , verbose =2)

     

    아직 짬이 안되나봅니다....

    -----------------------------------------------------------------------------

     

    ---------------------------------------------------------------------------

    ValueError Traceback (most recent call last)

    <ipython-input-42-a48b837b0672> in <module>()
    9 model.compile(loss = 'categorical_crossentropy', optimizer = 'adam' , metrics =['accuracy'])
    10
    ---> 11 model.fit(trainX,trainY,batch_size=64, epochs =30 , verbose =2)

    2 frames
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/data_adapter.py in select_data_adapter(x, y)
    962 "Failed to find data adapter that can handle "
    963 "input: {}, {}".format(
    --> 964 _type_name(x), _type_name(y)))
    965 elif len(adapter_cls) > 1:
    966 raise RuntimeError(

    ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, (<class 'list'> containing values of types {"<class 'int'>"})

    이런오류가뜨는데 어디서 잘못된거고  옳은 예시좀 보여주실수있나요?

    강의나온데까지는 오류가없습니다

    ++수정 실행은 되지만 정확도가 49~53사이에서 증가하질않습니다. 혹시 어떻게 해야할까요..? 강의에서 말씀하긴 92퍼는 근처에도못가겠습니다...

    #9318

    codingapple
    키 마스터

    마지막 출력 레이어가 이상해보입니다

    우리가 학습용으로 집어넣은 데이터는 x는 글자들, y는 0또는 1입니다. 나쁜댓글인지 아닌지를 0과 1로 판정해주는 모델이니까요 

    그래서 마지막 레이어는 숫자 31개 말고 숫자하나만 출력하는 레이어가 되면 됩니다 

    #27130

    Phillip
    참가자

      

    #27144

    Phillip
    참가자

    1. 원인:

    trainX의 type을 보시면 <class 'numpy.ndarray'> 로 나올 것입니다.

     X = pad_sequences(wkchar_list_num_index_seq, maxlen=100)  처리 결과로

    원래는 list 타입에서 <class 'numpy.ndarray'>가 되었습니다. 

    2. 해결 : list형태로 변형하면 됩니다

    X = X.tolist()  문장을

    trainX, valX, trainY, valY = train_test_split(X, Y, test_size = 0.2, random_state=42)  수행 전에

    실행하여 list로 전환하면 됩니다.

    3. 위와 같이 실행하면  ndarray 오류는 넘어갈 겁니다.

    4. 코딩을 보면  tf.keras.layers.Embedding(len(tokenizer.word_index)+1,16) 도 

       수행 도중 중단될 확률이 보입니다.  만약 오류가 나면 len(tokenizer.word_index)+1를

       5000정도 주시면 완주 실행되리라 봅니다.

    감사합니다.

     

     

     

     

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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