① tf.Session은 실질적인 연산을 수행하며, 여기에서 사용되는 파라미터는 다음과 같습니다.
ⓐ 디바이스에서 사용 가능한 메모리 일부분만 할당하거나, 실행 과정에서 메모리를 추가로 할당하는 등 변경을 위해 tf.ConfigProto() 옵션을 설정합니다.
ⓑ 텐서플로가 자동으로 디바이스 중 하나를 선택하게 하려면, 세션을 만들 때 allow_soft_placement 옵션을 True로 설정합니다.
ⓒ 연산과 텐서가 어떤 디바이스에 배치되었는지 알아보기 위해 세션을 만들 때 log_device_placement 옵션을 True로 설정합니다.
엘모를 내려받고 훈련을 위한 데이터셋을 준비합니다.
데이터셋은 스팸 관련 데이터셋7을 사용합니다.
url = "https://tfhub.dev/google/elmo/2"
embed = hub.Module(url) ------ 텐서플로 허브에서 엘모 내려받기
data = pd.read_csv('..\chap10\data\spam.csv', encoding='latin-1')
y = list(data['v1']) ------ list() 메서드는 다중 값을 저장할 때 사용하는 메서드로, 여기에서는 spam.csv의 ‘v1’ 데이터들을 y에 저장
x = list(data['v2'])
le = preprocessing.LabelEncoder()
le.fit(y) ------ y 값에 대해 인코딩 적용(각 열에 해당하는 고유한 번호를 부여)
7 이 데이터셋은 UCI Machine Learning Repository에서 연구를 위해 무료로 수집한 데이터셋입니다(https://archive.ics.uci.edu/ml/datasets/SMS+Spam+Collection#).