-
텐써플로우 모델을 만들기 위해서.. 데이터를 디비에서 읽어와 입력을 해야겠다고 생각했다.
우선 텐서플로우에서 데이터를 로드하는 방법에는 무엇이 있는지 알아보았다.
- Feeding: Python code provides the data when running each step.
- Reading from files: an input pipeline reads the data from files at the beginning of a TensorFlow graph.
- Preloaded data: a constant or variable in the TensorFlow graph holds all the data (for small data sets).
1.feeding이 지난번에 간단한 코드를 동작시킬대 placeholder를 이용하여 변수를 지정했던 것이다.
with tf.Session():
input = tf.placeholder(tf.float32)
classifier = ...
print(classifier.eval(feed_dict={input: my_python_preprocessing_fn()}))이참에 placeholder가 무엇인지 자세히 알아보자 https://penglover.github.io/2017/01/14/tf-placeholder/ 블로그를 참고하면
일종의 데이터를 담을 그릇같은 뜻이다. 그래서 feeding이라고 하는이유가 이렇게 정의된 그릇에 자료를 공급( feed ) 해야한다고 해서 feeding인것
2.파일로부터 읽는것은 csv파일이나 이진파일을 읽어들여 사용한다.
3.미리 로드된 데이터는 소규모 데이터에 적합하다.
결론적으로는 데이터를 어떠한 형식으로 갖추어둔 뒤 해당 데이터를 모델에 넘겨주는 방식인 것 같다.
나는 멍청하게 모델에서 데이터를 읽어오려고했다.. 그전에 모델에 데이터넣고 빼는걸 공부해놓고도.. 점점 머리가 퇴화되나보다.
스택오버의 도움을 받아 가장 최적의 방법은 무엇일까요? 하고 질문을 해보았다. 그에대한 답변은 csv파일로 내보내어 사용하는 것
그렇다면 cloud sql의 데이터를 csv로 export하는법을 알아보자
https://cloud.google.com/sql/docs/mysql/import-export/exporting 이 페이지를 참조해보니 csv파일로 export를 지원해주고있었다! ^^
마지막 줄에 보니 전체 디비의 테이블을 내보내주지는 않는듯하다..ㅠㅠ 하나하나 테이블을 지정해서 내보내야하는 것 같다.
그럼 우선 내가 당장 필요한 테이블의 데이터만 빼오자!
프로젝트내의 sql로 가보니 어렵지 않게 내보내기를 찾을 수 있었다.
이곳에 csv로 내보내기가 있었다. 버킷을 지정한 뒤 쿼리문을 작성하여 내보내보니 지정된 버킷으로 파일을 내보낼 수 있었다.
'2017년 > Google Platform' 카테고리의 다른 글
구글 플랫폼 ml을 써보자 4부 (0) 2017.07.20 구글 플랫폼 ml 을 써보자 3부 (0) 2017.07.18 구글 플랫폼 ml을 써보자 2부 (0) 2017.07.17 gcloud sdk를 설치해보자 [우분투기준] (0) 2017.07.17 구글 앱엔진을 사용해보자 (0) 2017.07.11