Rescale에서 TensorFlow 모델 훈련

irwenblog2
Google은 TensorFlow를 출시했습니다(www.tensorflow.org)는 지난해 XNUMX월 AI 분야에서 큰 주목을 받은 오픈소스 머신러닝 라이브러리다. TensorFlow는 머신러닝에 대한 경험이 많지 않은 사람이라도 상대적으로 실습하기가 쉽기 때문에 '모든 사람을 위한 머신러닝'이라고도 알려져 있습니다. 오늘 우리는 이제 Rescale 플랫폼에서 TensorFlow를 사용할 수 있다는 소식을 발표하게 되어 기쁘게 생각합니다. 즉, 웹 브라우저만으로 TensorFlow를 사용하여 머신러닝 모델을 만들고 훈련하는 방법을 배울 수 있습니다. 이 블로그 게시물에서 방법을 안내해 드리겠습니다.
간단한 사례부터 시작해보자
첫 번째 공식 TensorFlow 튜토리얼부터 시작하겠습니다. ML 초보자를 위한 MNIST. MNIST가 무엇인지, 그리고 이를 TensorFlow에서 기본 머신러닝 방법인 소프트맥스 회귀로 모델링하고 학습시키는 방법을 소개합니다. 여기서는 Rescale 플랫폼에서 작업을 설정하고 실행하는 방법에 중점을 둘 것입니다.
로컬 편집기에서 Python 스크립트를 만들 수 있습니다. mnist_for_beginners.py:

# tensorflow.examples.tutorials.mnist에서 MNIST 데이터 로드 import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) # 모델 import tensorflow를 tf x = tf.placeholder(tf.float32, [None , 784]) W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) y = tf.nn.softmax(tf.matmul(x, W) + b) # 모델 훈련 y_ = tf.placeholder(tf.float32, [None, 10]) cross_entropy = -tf.reduce_sum(y_*tf.log(y)) train_step = tf.train.GradientDescentOptimizer(0.01 ).minimize(cross_entropy) init = tf.initialize_all_variables() sess = tf.Session() sess.run(init) for i in range(1000): 배치_xs, 배치_ys = mnist.train.next_batch(100) sess.run( train_step, Feed_dict={x: 배치_xs, y_: 배치_ys}) # 모델 평가 right_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1)) 정확도 = tf.reduce_mean(tf. 캐스트(corright_prediction, tf.float32)) print(sess.run(accuracy, Feed_dict={x: mnist.test.images, y_: mnist.test.labels}))

위의 스크립트는 모든 스니펫을 하나로 합치는 것입니다. 이제 Rescale의 GPU 하드웨어에서 이를 실행해야 합니다.
먼저 계정을 만들어야 합니다. 아직 계정이 없다면 클릭하세요. 여기에서 지금 확인해 보세요. 하나를 만들 수 있습니다.
단계별로 작업을 설정하는 번거로움을 건너뛰고 싶다면 여기에서 지금 확인해 보세요. 튜토리얼 작업을 보고 이를 자신의 계정에 복제합니다.
계정 등록 후, Rescale에 로그인하고 왼쪽 상단의 “+ New Job” 버튼을 클릭하여 새로운 Job을 생성하세요.
2016 04-15-1.28.08 오후 스크린 샷
"이 컴퓨터에서 업로드"를 클릭하고 Python 스크립트를 Rescale에 업로드하세요.
2016 04-15-1.29.47 오후 스크린 샷
“다음”을 클릭하여 소프트웨어 설정 페이지로 이동한 후 소프트웨어 목록에서 TensorFlow를 선택하세요. 현재 0.71이 Rescale에서 유일하게 지원되는 버전이므로 이 버전을 선택하고 명령 필드에 "python ./mnist_for_beginners.py"를 입력하세요. "다음"을 선택하여 하드웨어 설정 페이지로 이동합니다.
2016 04-15-1.39.15 오후 스크린 샷
하드웨어 설정에서 코어 유형 Jade를 선택하고 코어 4개를 선택합니다. 이 작업은 계산 집약적이지 않으므로 유효한 최소 코어 수를 선택합니다. 이 예에서는 사후 처리를 건너뛰고 검토 페이지에서 "제출"을 클릭하여 작업을 제출할 수 있습니다.
2016 04-15-1.39.46 오후 스크린 샷
2016 04-15-2.01.08 오후 스크린 샷
서버를 시작하는 데 4~5분, 작업을 실행하는 데 1분이 소요됩니다. 작업이 실행 중일 때 Rescale의 라이브 테일링 기능을 사용하여 작업 디렉터리의 파일을 모니터링할 수 있습니다.
작업이 완료되면 결과 페이지에서 파일을 볼 수 있습니다. 우리가 업로드한 Python 스크립트의 출력인 process_output.log를 살펴보겠습니다. 밑에서 세 번째 줄에서는 정확도가 91.45%임을 확인할 수 있습니다.
2016 04-15-2.06.17 오후 스크린 샷
더욱 발전된 모델
두 번째 TensorFlow 튜토리얼에서는 다층 합성곱 네트워크를 사용하여 정확도를 99.32%로 높이는 고급 모델을 구축했습니다.
Rescale에서 이 고급 모델을 실행하려면 첫 번째 프로세스를 반복하고 Python 스크립트를 튜토리얼의 새 모델로 바꾸면 됩니다. 다음에서 기존 작업을 보고 복제할 수도 있습니다. 여기에서 지금 확인해 보세요..
단일 GPU 대 다중 GPU 성능 속도 향상 테스트
컴퓨터에 GPU가 두 개 이상 있는 경우 TensorFlow는 더 나은 성능을 위해 GPU를 모두 활용할 수 있습니다. 이 섹션에서는 단일 K520 GPU 시스템과 4개의 K520 GPU 시스템에 대한 성능 벤치마크를 수행하고 성능 속도 향상을 테스트할 것입니다.
XNUMXD덴탈의 CIFAR10 컨볼 루션 신경망 예제는 벤치마킹 작업으로 사용됩니다. 아래 결과에서 GPU 수가 4배일 때 초당 처리되는 예제는 단일 GPU 성능의 2.37배에 불과하다는 것을 알 수 있습니다.
영상
미리 작업
TensorFlow는 최근에 새로운 배포 버전 (v0.8), 4년 13월 2016일, 여러 시스템의 GPU에 작업 부하를 분산할 수 있습니다. 다중 노드-다중 GPU 클러스터에서 성능을 확인하는 것은 매우 흥미로울 것입니다. 그 전에 Rescale에서 TensorFlow를 지원하는 다중 노드-다중 GPU 클러스터를 시작하는 프로세스를 최대한 간단하게 만들어 보겠습니다.
이 채용정보를 귀하의 계정으로 가져오기

비슷한 게시물