목차

1.TensorFlow Server 상품 소개

TensorFlow 서버 상품은 데이터 분석가들이 가장 많이 사용하는 TensorFlow를 비롯하여 대표적인 Deep Learning과 Machine Learning 패키지들을 설치형으로 제공하는 상품입니다.

데이터 전처리, 시각화, 자연어 처리, Machine Learning과 Deep Learning 패키지들이 제공되기 때문에 대부분의 분석 업무를 진행할 수 있으며, 필요한 경우 Jupyter Notebook에서 GUI나 콘솔 명령어를 사용하여 손쉽게 패키지를 추가로 설치하거나 업그레이드할 수 있습니다.

웹 기반의 Jupyter Notebook을 통해 어느 곳에서나 동일한 분석 환경에서 업무를 수행할 수 있게 해 주며, 분석 결과를 바로 바로 확인하고 다른 사람에게 쉽게 공유할 수 있게 해 줍니다.

또한 관리 스크립트를 제공하여 터미널 환경에서 간편하게 Jupyter 프로세스를 관리할 수 있게 해 줍니다.

더불어 분석 업무를 처음 시작하려는 초보 분석가를 위해 데이터 탐색과 시각화 뿐만 아니라, Scikit-Learn을 이용한 회귀, 분류, 클러스터링 같은 Machine Learning과 Keras 및 TensorFlow를 이용한 Deep Learning 회귀와 분류 예제를 제공하고 있습니다.

2.사용하기 전에 자주하는 질문

Q. TensorFlow Server 상품은 무엇인가요?

  • TensorFlow를 비롯한 대표적인 Deep Learning 및 Machine Learning 패키지와, 코드를 작성할 수 있는 웹 기반의 Jupyter Notebook을 제공하여 빠르게 Deep Learning 및 Machine Learning을 구현할 수 있게 해 주는 상품입니다.
  • 제공되는 샘플 코드를 통해 초보자도 손쉽게 데이터 전처리와 시각화, Machine Learning 및 TensorFlow 회귀와 분류 모델을 경험해 볼 수 있습니다.
  • "Tensorflow Server"는 구글 브레인팀에서 개발한 오픈소스 머신러닝 소프트웨어 라이브러리인 Tensorflow를 이용하고 있습니다.

Q. 어떤 상품들이 존재하나요?

  • OS에 따라서 'tensorflow-ubuntu-{VERSION_NUMBER}'와 'tensorflow-centos-{VERSION_NUMBER}' 2개의 상품이 존재합니다.
  • OS 차이일 뿐 제공되는 패키지는 동일하며, 특별한 이유가 없다면 보다 더 많이 사용되고 있는 ubuntu 상품을 선택하길 권해드립니다.

Q. 어떤 패키지들이 제공되며, 제공하는 패키지들만 사용할 수 있나요?

  • 기본으로 설치되어 제공하는 패키지는 200여 가지가 있으며, 주요 패키지 목록은 아래와 같습니다.
    tensorflow, Keras, Gensim, Pytorch, Theano
    jupyter, python, numpy, scikit-learn, scipy, seaborn, sympy
  • 이 밖에도 1000여 개가 넘는 Conda 패키지 및 다른 패키지를 추가로 설치해서 사용할 수 있습니다.
  • 패키지 설치 및 관리에 대해서는 Jupyter Notebook 사용 가이드의 패키지 관리를 참조하십시오.

Q. 파이썬 외에 Java나 다른 언어를 사용할 수 있나요?

  • TensorFlow에서 Java나 Go 등의 API도 제공하지만 안정성을 보장하지 않기 때문에 Python을 사용하기를 권해드립니다.

Q. 제공되는 서버 타입들은 어떤 것들이 있나요?

  • 네이버 클라우드 플랫폼이 제공하는 TensorFlow 서버 타입은 Standard, High Memory, GPU로 나눠집니다. 각각의 서버 타입별 특징은 아래와 같습니다.

  • Standard: 다양한 IT 비즈니스에 활용할 수 있는 네이버 클라우드 플랫폼 서비스의 표준 서버입니다. 균형 잡힌 서버 사양을 제공하며, 높은 가용성과 안정성을 자랑합니다.

  • High Memory: 64GB 이상의 고 메모리 서버로, 메모리 성능에 영향을 많이 받는 애플리케이션을 운영할 때 적합합니다. High Memory 서버는 최대 10대까지 생성할 수 있으며, 고객지원에 요청하시면 대수 제한을 조정해 드립니다.
  • CPU Intensive: Intel Xeon 프로세서에 AVX512 Vector 연산에 최적 빌드된 텐서플로우가 탑재되며, 고성능이 요구되는 딥러닝 워크로드 처리에 적합합니다. 해당 CPU Type은 현재 Ubuntu 16.04 OS만 지원합니다.
  • GPU: V100, T4 스펙의 GPU가 장착된 서버로, 빠른 데이터 처리를 하는 환경에 적합합니다. 최대 5대까지 생성할 수 있으며, 고객지원에 요청하시면 대수 제한을 조정해 드립니다.

Q. TensorFlow 서버 상품을 생성했는데 코드 작성은 어디서 하나요?

  • Private Subnet에 TensorFlow Server상품을 생성하는 경우, 공인 IP를 통해 외부에서 접속할 수 없기 때문에 추가로 최소1개의 Public Subnet이 필요합니다.
    • 1.Private Subnet에 TensorFlow Server 상품 VM을 생성합니다.
    • 2.Public Subnet에 Windows VM을 생성합니다.
    • 3.Windows VM에 공인 IP를 할당한 뒤, Windows VM에 접속합니다.
    • 4.(Windows VM에 접속한 상태에서) TensorFlow Server 상품 VM의 비공인 IP를 통해 Jupyter Notebook에 접속합니다.
  • TensorFlow 코드는 Jupyter Notebook에서 작성할 수 있습니다. 추가로 생성한 Public Subnet의 Windows VM에 접속한 뒤, 웹 브라우저에서 [비공인 IP 주소:18888]로 접속하시면 됩니다.
  • 'samples' 폴더에 데이터 처리와 시각화 및 TensorFlow 예제 파일들이 있으니 데이터 분석을 처음 시작하는 분들은 참고하시면 됩니다.

Q. TensorBoard는 어떻게 사용하나요?

  • 추가로 생성한 Public Subnet의 Windows VM에 접속한 뒤, 웹 브라우저에서 [비공인 IP 주소:18889]로 접속하시면 됩니다('4.TensorFlow Server 상품 생성 후 Jupyter 접속환경 설정' 참고).
  • 추가로 생성한 Public Subnet의 Windows VM에 접속한 뒤, 웹 브라우저에서 [비공인 IP 주소:18889]로 접속하시면 됩니다('4.TensorFlow Server 상품 생성 후 Jupyter 접속환경 설정' 참고).
  • Jupyter 기본 경로(/home/ncp/workspace) 아래에 tensorboard 디렉토리가 만들어져 있으므로, tensorflow 코드에서 tensorboard 다렉토리를 로그 디렉토리로 지정하여 사용하면 됩니다.

Q. Jupyter Notebook에 접속이 안 됩니다.

  • TensorFlow Server 상품의 VM 내부에 Jupyter 프로세스가 정지한 상태일 수 있으니, 터미널에서 'jup restart' 명령어를 실행하여 프로세스를 다시 시작하십시오('Jupyter 프로세스 관리' 참고).

3.TensorFlow Server 상품 VM 생성

사전작업 1. VPC생성

콘솔 > VPC에서 VPC를 생성합니다. VPC는 최소 1개가 필요합니다. 하나의 VPC안에 여러개의 Tensorflow-Server상품을 생성할 수 있습니다.

VPC 생성

사전작업 2. Subnet 생성

VPC에 Private Subnet을 생성하여 특정 VPC환경 내부에서만 접속이 가능하도록 제한할 수 있습니다.

'Internet Gateway 전용 여부' 속성 값을 'N (Private)' 로 설정하여 Subnet을 생성합니다.

Subnet 생성

Step 1. 콘솔 접속

Console 에 접속해서 Server 메뉴를 선택합니다.

  • 서버를 생성하려면 서버 생성 버튼을 클릭합니다.

Step 2. Tensorflow Server 상품 VM 설정

VPC, Subnet, 스토리지 종류, 서버 타입, 요금제를 선택하고, 서버 이름을 입력합니다.

  • VPC: 앞서 생성한 VPC를 선택합니다. (예: vpc-tensorflow)
  • Subnet: Private Subnet를 선택합니다. (예: vpc-sub-pri-tensorflow)
  • 스토리지 종류: 부팅 스토리지로 사용할 스토리지 종류를 선택합니다.
    • 고성능 I/O가 필요한 서비스에는 SSD를, 일반적인 서비스에는 HDD를 선택하세요. 단, 부팅 스토리지가 SSD인 경우에만 추가 스토리지로 SSD를 이용할 수 있습니다.
  • 서버 타입: 원하는 서버 타입을 선택합니다.
    • 일부 서버 스펙은 부팅 디스크 타입에 따라 지원되지 않을 수 있습니다.
    • 사용하는 목적에 따라 Standard, High Memory, GPU 서버 타입 중 하나를 선택하세요.
  • 요금제 선택: 요금제는 월요금제 또는 시간 요금제 중 선택할 수 있습니다.
  • 서버 이름: 서버 이름을 입력합니다.
    • 고객이 서버를 구별하기 위한 명칭으로, 중복해서 사용할 수 없습니다.
  • Network Interface: Network Interface를 설정합니다. 서버 당 최대 3개 생성할 수 있습니다.
  • 공인 IP: Private Subnet은 공인 IP를 할당할 수 없습니다. 미설정을 선택합니다.
    • 서버 생성시 공인 IP를 함께 생성하시려면 Subnet 타입은 Public Subnet, 서버 개수는 1개여야 합니다.
  • 다음: 서버 설정을 마친 후 다음 버튼을 클릭합니다.

Step 3. 인증키 설정

보유하고 있는 인증키가 있는 경우 ‘보유하고 있는 인증키 이용’을 선택하고, 없는 경우 아래의 절차대로 새로운 인증키를 생성합니다.

  • 새로운 인증키 생성을 선택합니다.
  • ② 인증키 이름을 입력합니다.
  • 인증키 생성 및 저장 버튼을 클릭하여 로컬 PC에 인증키 파일을 저장합니다.
    • 새로운 인증키를 발급받습니다.
    • 저장 후 인증키는 고객의 PC 안전한 위치에 보관해 주십시오.
    • 인증키는 최초의 관리자 비밀번호를 가져올 때 이용됩니다.
  • [다음] 버튼을 클릭합니다.

Step 4. 방화벽 설정

보유하고 있는 ACG를 이용하여 방화벽을 설정할 수 있습니다.

  • ACG는 필수로 선택해야 하며, VPC를 생성하면 기본으로 제공하는 ‘VPC default ACG’를 포함하여 보유하고 있는 ACG 중에서 하나를 선택합니다.
    • 보유하고 있는 ACG는 최대 5개까지 선택할 수 있습니다.
    • 필수로 ACG를 선택해야 [다음] 버튼이 활성화되어 설정을 진행할 수 있습니다.
  • 설정을 원하는 ACG를 선택하고 [다음] 버튼을 클릭합니다.

Step 5. 최종 확인

설정한 내용을 최종 확인합니다.

  • 최종 확인: 서버 이미지, 서버, 인증키, ACG가 정상적으로 설정되었는지 확인합니다.
  • 서버 생성: 최종 확인 후 버튼을 클릭해 서버를 생성합니다.
    • 서버가 생성되기까지는 수 분에서 수십 분이 소요됩니다.

Step 6. 서버 목록에서 확인

생성한 서버를 리스트에서 확인합니다.

  • 서버가 생성되고 패키지가 설치 완료되어 서버 상태가 운영중이 될 때까지 대기합니다.

4.TensorFlow Server 상품 생성 후 Jupyter 접속환경 설정

Private Subnet에 생성된 Tensorflow Server 상품의 VM에 접속하기 위한 방법을 안내합니다. Private Subnet은 외부에서 접속이 불가능하기 때문에 Public Subnet을 생성해야 합니다.

Public Subnet에 Windows VM을 하나 생성하여 Private Subnet내에 있는 VM에 접속할 수 잇습니다.

Public Subnet 생성

Internet Gateway 전용 여부 속성 값을 Y (Public) 로 설정하여 Subnet을 생성합니다.

Subnet 생성

Windows 상품 VM 생성

Public Subnet에 생성한 Windows VM에 원격접속 후 Private Subnet에 생성되어 있는 TensorFlow Server 상품 VM에 접속합니다.

Windows VM은 반드시 Public Subnet을 선택한 뒤 생성해야합니다.

Windows 상품 VM 선택

windowsVM

Windows 상품 VM의 스펙 선택

VPC, Subnet, 스토리지 종류, 서버 타입, 요금제를 선택하고, 서버 이름을 입력합니다.

Windows VM은 반드시 Public Subnet을 선택한 뒤 생성해야합니다.

windowsVM

  • VPC: 앞서 생성한 VPC를 선택합니다. (예: vpc-tensorflow)
  • Subnet: Public Subnet를 선택합니다. (예: vpc-sub-pub-tensorflow)
  • 스토리지 종류: 부팅 스토리지로 사용할 스토리지 종류를 선택합니다.
    • 고성능 I/O가 필요한 서비스에는 SSD를, 일반적인 서비스에는 HDD를 선택하세요. 단, 부팅 스토리지가 SSD인 경우에만 추가 스토리지로 SSD를 이용할 수 있습니다.
  • 서버 타입: 원하는 서버 타입을 선택합니다.
    • 일부 서버 스펙은 부팅 디스크 타입에 따라 지원되지 않을 수 있습니다.
    • 사용하는 목적에 따라 Standard, High Memory, GPU 서버 타입 중 하나를 선택하세요.
  • 요금제 선택: 요금제는 월요금제 또는 시간 요금제 중 선택할 수 있습니다.
  • 서버 이름: 서버 이름을 입력합니다.
    • 고객이 서버를 구별하기 위한 명칭으로, 중복해서 사용할 수 없습니다.
  • Network Interface: Network Interface를 설정합니다. 서버 당 최대 3개 생성할 수 있습니다.
  • 공인 IP: VM을 생성하면서 자동으로 공인IP를 할당하고자 하면 새로운 공인 IP 할당 버튼을 선택합니다.
    • 서버 생성시 공인 IP를 함께 생성하시려면 Subnet 타입은 Public Subnet, 서버 개수는 1개여야 합니다.
  • 다음: 서버 설정을 마친 후 다음 버튼을 클릭합니다.

Windows 상품 VM 인증키 설정

windowsVM

Windows 상품 VM ACG 설정

windowsVM

Windows 상품 VM 생성 최종 확인

windowsVM

공인 IP 주소 사용 신청

Windows VM에 접속하기 위해서 공인 IP 주소를 생성합니다. (공인 IP 주소 사용에 대한 요금이 별도로 부과됩니다.)

VPC > Server > Public IP 로 이동하여 공인 IP를 생성합니다.

windowsVM

  • 적용 서버 선택에서 공인 IP 주소를 할당할 Windows 서버를 선택합니다.

ACG 설정

ACG에 터미널 접속 SSH('TCP/22') 및 Jupyter Notebook('TCP/18888') 규칙과 필요한 경우 TensorBoard('TCP/18889') 규칙을 추가합니다.

  • ① 좌측 메뉴에서 [ACG] 메뉴를 선택합니다.
  • ② 서버 생성 시 선택한 ACG를 선택하고 상단의 ‘ACG 설정'을 선택합니다.
  • ③ ACG 규칙 설정에서 프로토콜, 접근 소스, 허용 포트를 입력하고 생성합니다.
    • 프로토콜: TCP, UDP, ICMP에서 선택
    • 접근 소스: IP 주소 또는 ACG명 입력
    • 허용 포트: 단일 포트 또는 범위 지정
    • 터미널 접속을 위해서는 접속하려는 서버의 ACG에 SSH 'TCP/22'에 대한 규칙이 설정되어 있어야 하고, jupyter notebook 사용을 위해서는 'TCP/18888' 규칙이, TensorBoard 사용을 위해서는 'TCP/18889' 규칙이 추가로 설정되어 있어야 합니다.
    • 규칙을 추가하려면 프로토콜, 접근 소스, 허용 포트를 기재하고 추가를 클릭합니다.
  • ④ 설정이 완료되면 적용 버튼을 클릭합니다.
  • 상세 정보 탭에서 상세 정보를 확인할 수 있으며 규칙 보기 탭에서는 설정한 규칙을 확인할 수 있습니다.

Windows VM에 원격접속

원격접속 프로그램(예:원격 데스크톱, Microsoft Remote Desktop)을 사용하여 Windows VM에 접속합니다. Windows VM의 공인 IP관리자 비밀번호를 입력합니다.

원도우 서버 접속 가이드를 참고하세요

Windows VM 접속 계정 입력

원도우 서버 접속 가이드

  • ① Windows VM의 관리자 이름을 입력합니다.
  • ② Windows VM의 관리자 비밀번호를 입력합니다.

Windows VM의 공인 IP 입력

원도우 서버 접속 가이드

  • ① Windows VM의 공인 IP를 입력합니다.
  • ② 앞서 설정한 Windows VM의 관리자 이름, 비밀번호를 입력합니다.

Windows VM의 원격접속 확인

원도우 서버 접속 가이드

Jupyter Notebook 작동 확인

Windows VM에 원격으로 접속한 다음 Jupyter Notebook에 접속합니다. 크롬 브라우저를 실행하여 Tensorflow Server 상품 VM의 비공인 IP를 입력한 뒤, Jupyter Notebook에 접속합니다.

Windows VM에서 Jupyter Notebook 접속

원도우 서버 접속 가이드

  • '인터넷 익스플로러 (Internet Explorer)'는 보안설정으로 Jupyter Notebook 사용이 원할하지 않기 때문에 '브라우저 크롬 Chrome' 사용을 권장합니다.
  • Jupyter Notebook에 접속하는 주소는 http://{비공인-IP}:{18888} 입니다.
    • 예를들어 생성한 비공인 IP가 10.0.0.70 일 때, 접속 url은 http://10.0.0.70:18888 입니다.
  • Jupyter Notebook의 초기 비밀번호는 VM의 서버 이름 입니다. 안전한 사용을 위해서 비밀번호를 변경 후 사용하는 것을 권장합니다.

Windows VM의 인터넷 익스플로어 보안설정

Windows 운영체제에서 인터넷 익스플로러를 통해 Jupyter Notebook을 원할하게 사용하기 위해서는 보안설정에서 자바스크립트를 활성화 해야합니다.

원도우 서버 접속 가이드

  • 인터넷 익스플로러 > 도구 > 인터넷옵션 > 보안 탭 > 사용자 정의 > 자바스크립트허용
  • 크롬 브라우저를 Windows VM에 설치 후, 크롬을 이용해 Jupyter Notebook을 사용할 수 있습니다.

5.Jupyter Notebook 관리

터미널 프로그램(Putty 등)으로 TensorFlow Server 상품 VM에 접속해서 Jupyter의 비밀번호를 변경해야 합니다.

제공하는 관리 스크립트를 통해 손쉽게 비밀번호를 변경하고 Jupyter 프로세스를 관리할 수 있습니다.

관리자 비밀번호 확인

터미널 프로그램(Putty 등)으로 TensorFlow Server 상품 VM에 접속하려면 관리자 비밀번호를 알아야 합니다.

  • ① 좌측 메뉴에서 Server 메뉴를 선택합니다.
  • ② 해당 서버를 선택하고, 서버 관리 및 설정 변경에서 관리자 비밀번호 확인을 선택합니다.
  • 마우스로 파일을 끌고 오거나 여기를 클릭하세요 버튼을 클릭해 서버 생성 시 개인 PC에 저장한 인증키 파일(.pem)을 첨부합니다.
  • ④ 첨부 후 비밀번호 확인 버튼을 클릭하면 터미널 프로그램으로 최초 서버 접속 시 사용할 비밀번호를 얻을 수 있습니다.
    • 서버에 접속 후 관리자가 기억할 수 있는 비밀번호로 변경하여 사용하는 것을 권장합니다.

터미널 프로그램으로 VM 접속 방법

관리자 비밀번호로 TensorFlow Server 상품 VM에 접속할 수 있습니다. Windows VM에 원격접속 후 터미널 프로그램을 사용하여 TensorFlow 상품 VM에 접속합니다.

  • ① 터미널 프로그램을 실행한 뒤, TensorFlow Server 상품 VM의 비공인 IP를 입력합니다.
  • ② TensorFlow Server 상품 VM의 접속 정보를 입력합니다.
    • login as: root
    • password: 앞단계에서 확인한 관리자 비밀번호 입력
  • ③ 로그인 후에는 root 계정의 비밀번호를 기억할 수 있는 비밀번호로 변경할 것을 권장합니다.
    • 'passwd root' 명령어를 입력한 후 새 비밀번호를 입력합니다.

Jupyter 비밀번호 변경

Jupyter Notebook에서 사용할 초기 비밀번호는 서버 이름으로 설정되어 있으며, 보안 침해 방지를 위해서 제공하는 스크립트를 통해 비밀번호를 변경해 주십시오.

  • ① 터미널에서 'jup passwd'를 입력하여 비밀번호를 변경합니다.
    • 최초 비밀번호 확인: 콘솔 > 서버 > 서버 리스트에서 ‘서버 이름’과 동일
    • 비밀번호는 영문, 숫자, 특수문자를 모두 포함해야 하며, 8자 이상이어야 합니다.
    • 비밀번호 변경 스크립트를 실행하는 경우 자동으로 Jupyter 프로세스가 재시작됩니다.

Jupyter 프로세스 관리

환경 설정 파일을 변경했을 경우 등 Jupyter 프로세스를 재시작할 필요가 있는 경우, 제공하는 스크립트를 통해 프로세스를 정지하거나 재시작할 수 있습니다.

  • ① Jupyter 프로세스 정지: $ jup stop
  • ② Jupyter 프로세스 시작: $ jup start
  • ③ Jupyter 프로세스 정지&시작: $ jup restart

TensorBoard 프로세스 관리

서버를 생성하고 처음으로 TensorBoard 프로세스를 시작하거나 프로세스를 재시작할 필요가 있는 경우, 제공하는 스크립트를 통해 프로세스를 시작하거나 정지할 수 있습니다.

  • ① TensorBoard 프로세스 정지: $ jup tb-stop
  • ② TensorBoard 프로세스 시작: $ jup tb-start

6.연관 정보 바로가기

아래 가이드를 통해 보다 다양하고, 풍부한 연관 정보를 확인하실 수 있습니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...