Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- leetcode
- 코로나19
- 편스토랑 우승상품
- 편스토랑
- github
- 캐치카페
- Real or Not? NLP with Disaster Tweets
- gs25
- 프로그래머스 파이썬
- hackerrank
- AI 경진대회
- dacon
- Baekjoon
- PYTHON
- 파이썬
- SW Expert Academy
- 프로그래머스
- Git
- programmers
- 우분투
- ubuntu
- 데이콘
- 더현대서울 맛집
- 자연어처리
- 백준
- ChatGPT
- 금융문자분석경진대회
- 맥북
- Docker
- Kaggle
Archives
- Today
- Total
솜씨좋은장씨
[Kaggle DAY09]Real or Not? NLP with Disaster Tweets! 본문
Kaggle/Real or Not? NLP with Disaster Tweets
[Kaggle DAY09]Real or Not? NLP with Disaster Tweets!
솜씨좋은장씨 2020. 3. 7. 02:04728x90
반응형
Kaggle 도전 9일차!
오늘은 한국인공지능 아카데미 실용교육에서 배운 BERT에 학습데이터를 있는 그대로 사용하여 결과를 내어 보았습니다.
def get_bert_finetuning_model(model):
inputs = model.inputs[:2]
dense = model.layers[-3].output
outputs = keras.layers.Dense(2, activation='sigmoid',kernel_initializer=keras.initializers.TruncatedNormal(stddev=0.02),
name = 'real_output')(dense)
bert_model = keras.models.Model(inputs, outputs)
bert_model.compile(
optimizer=RAdam(learning_rate=0.00001, weight_decay=0.0025),
loss='binary_crossentropy',
metrics=['accuracy'])
return bert_model
기존에 마지막 레이어에 Dense( 1 ) 이었던 부분을 Dense( 2 )로 바꾸어주고
train_y_new = []
for i in range(len(train_y)):
if train_y[i] == 1:
train_y_new.append([0, 1])
else:
train_y_new.append([1, 0])
train_y_new = np.array(train_y_new)
train_y_new
라벨데이터를 One-Hot Encoding 시켜주었습니다.
첫번째 제출
sess = K.get_session()
uninitialized_variables = set([i.decode('ascii') for i in sess.run(tf.report_uninitialized_variables())])
init = tf.variables_initializer([v for v in tf.global_variables() if v.name.split(':')[0] in uninitialized_variables])
sess.run(init)
bert_model = get_bert_finetuning_model(model)
history = bert_model.fit(train_x, train_y_new, epochs=2, batch_size=16, verbose = 1, validation_split=0.05, shuffle=True)
결과
두번째 제출
bert_model2 = get_bert_finetuning_model(model)
history2 = bert_model2.fit(train_x, train_y_new, epochs=2, batch_size=32, verbose = 1, validation_split=0.05, shuffle=True)
결과
세번째 제출
bert_model3 = get_bert_finetuning_model(model)
history2 = bert_model3.fit(train_x, train_y_new, epochs=3, batch_size=32, verbose = 1, validation_split=0.05, shuffle=True)
결과
네번째 제출
bert_model4 = get_bert_finetuning_model(model)
history2 = bert_model4.fit(train_x, train_y_new, epochs=5, batch_size=32, verbose = 1, validation_split=0.05, shuffle=True)
결과
잘 되지 않았던 부분
중간에 다음과 같은 오류가 나서 확인해보니 GPU가 P4로 바뀌어 GPU메모리가 부족했던 문제였습니다.
'Kaggle > Real or Not? NLP with Disaster Tweets' 카테고리의 다른 글
[Kaggle DAY11]Real or Not? NLP with Disaster Tweets! (0) | 2020.03.08 |
---|---|
[Kaggle DAY10]Real or Not? NLP with Disaster Tweets! (0) | 2020.03.07 |
[Kaggle DAY08]Real or Not? NLP with Disaster Tweets! (0) | 2020.03.05 |
[Kaggle DAY07]Real or Not? NLP with Disaster Tweets! (0) | 2020.03.04 |
[Kaggle DAY06]Real or Not? NLP with Disaster Tweets! (0) | 2020.02.19 |
Comments