기본 콘텐츠로 건너뛰기

[TensorFlow] 텐서플로우 소개와 활용



1. TensorFlow란

딥러닝 및 기계학습을 위한 오픈소스 머신러닝 프레임워크입니다.


여기서 Tensor는 다차원의 배열로, 딥러닝에서 이미지, 텍스트, 오디오 등 데이터를 나타내는 주요한 개념입니다.
Flow는 데이터가 그래프 형태로 흐른다는 개념을 나타냅니다. 

이렇게 TensorFlow는 다차원 데이터인 텐서를 다루며 그 데이터의 흐름을 그래프 형태로 관리하는 딥러닝 및 머신러닝 라이브러리의 핵심 특징을 반영합니다.
그래프 기반의 계산을 사용한다는 특징을 강조하는 것입니다.




2. TensorFlow의 개발환경 및 셋업


TensorFlow는 Python과 호환되며 Windows, macOS, Linux 등 다양한 운영체제에서 사용할 수 있습니다.
설치 및 개발환경 설정에 크게 세 가지의 방법이 있습니다.

(1) Python 개발환경 사용



가장 먼저 Python 상에서 (Python 응용프로그램은 Python 공식 웹사이트에서 다운로드할 수 있습니다.)
pip install tensorflow
코드를 입력하여 Python 개발환경에서 TensorFlow 라이브러리를 설치합니다.
설치가 정상적으로 되었는 지 확인하기 위해서는 Python 인터프리터를 열고
import tensorflow as tf print(tf.__version__) 를 입력하면 됩니다.
설치된 TensorFlow 버전이 출력되면 정상적으로 설치된 것입니다!

(2) TensorFlow 컨테이너



사용 가장 먼저 Docker 공식 웹사이트에서 docker를 다운로드합니다.
설치가 완료되면 bash 셸 창에
docker pull tensorflow/tensorflow
코드를 입력해서 TensorFlow 공식 Docker 이미지를 다운로드하고,
docker run -it --rm tensorflow/tensorflow
코드를 입력해서 TensorFlow 컨테이너를 실행합니다.
이를 통해 TensorFlow 컨테이너를 대화형 쉘 모드로 실행할 수 있습니다.

(3) Google Colab 사용 



Google Colab은 웹 브라우저에서 Python 코드를 실행할 수 있는 클라우드 기반 노트북 환경을 제공합니다.
따라서 Google Colab 웹사이트에 접속하여 새 노트북을 생성한 후, TensorFlow를 설치할 필요 없이 바로 사용 가능합니다.



3. TensorFlow의 활용 분야


TensorFlow는 다양한 분야의 모델 작업을 위한 강력한 플랫폼을 제공합니다.
TensorFlow를 활용한 대표적인 예시에 대해 알아봅시다.

(1) 딥러닝 모델

다층퍼셉트론(MLP)이나 컨볼루션신경망(CNN)을 생성하고 훈련함으로써 이미지 분류, 객체 감지, 텍스트 분류 등의 작업을 수행할 수 있습니다.
특히 TensorFlow의 고수준 API 중 하나인 Keras를 사용하면 더 쉽게 모델을 구축하여 훈련할 수 있습니다.
Keras는 TensorFlow 2.0부터 TensorFlow의 일부로 통합된 사용자 친화적인 API입니다. 따라서 사용이 간단하고 직관적입니다.
또한 계층(layer)으로 구성되어 있어 조합에 따라 쉽게 모델을 생성 및 확장할 수 있으며 모델 시각화가 용이하고,
분산 및 병렬 처리가 가능하며 디버깅 기능을 제공한다는 장점이 있습니다.

(2) 자연어처리 (NLP)

자연어처리란 자연어를 컴퓨터가 이해하고 처리하는 분야로, 정보 추출, 번역, 감정 분석 등의 기술을 다룹니다.
특히 OpenAI에서 개발한 사전 훈련된 자연어 처리 모델의 한 종류인 GPT(Generative Pre-trained Transformer)를 통해 자연어처리를 용이하게 할 수 있습니다.
Fine-tuning은 GPT와 같은 사전 훈련된 모델을 특정 작업에 맞게 조정하는 과정입니다.
예를 들어, 기존에 훈련된 GPT 모델을 가져와서 특정 언어 모델링, 감정 분석, 텍스트 생성 또는 기계 번역과 같은 작업에 맞게 추가 훈련하는 것을 의미합니다.

(3) 이미지처리

컨볼루션신경망(CNN)을 통해 이미지 분석, 스타일 변환, 객체 검출, 세분화, 이미지 생성 등의 작업을 수행할 수 있습니다.
TensorFlow의 고급모듈 중 하나인 TensorFlow Hub를 통해 사전 훈련된 이미지 처리 모델을 가져온 후 작업을 수행할 수 있습니다.
TensorFlow Hub는 TensorFlow와 호환되는 사전 훈련된 모델 및 모델 구성 요소를 공유하고 재사용할 수 있는 플랫폼입니다.
이 저장소에는 이미지 분류모델이 포함되어 있으며, 이 외에도 다양한 머신러닝 작업에 유연하게 구성된다는 장점이 있습니다.

(4) TensorFlow Serving

TensorFlow Serving은 TensorFlow 모델을 서빙하기 위한 프레임워크입니다.
이를 사용하면 훈련된 모델을 배포하고 REST API 또는 gRPC를 통해 모델에 접근할 수 있습니다.
이를 활용하여 실시간 추론, 모델 버전 관리, 모델 로드 및 언로드, 스케일링, 모델 모니터링 등을 수행할 수 있습니다.

이 블로그의 인기 게시물

[글로벌 IT전문가와 킹고인의 만남 시즌2] 행사 신청/참석 안내

  글로벌 IT전문가와 킹고인의 만남 시즌2에 대해 많은 관심 감사드립니다! 본 웹페이지를 통해서 학우님들의 원활한 행사 신청 및 참석을 위해 GDSC Community Platform 사용법을 안내드리고자 합니다 [카카오톡으로 링크 접속하신 경우 안내] 카카오톡 내장 브라우저에서 Google 로그인 시 "액세스 차단됨: Bevy의 요청이 Google 정책을 준수하지 않습니다"로 표시되는 사례가 확인되었습니다. 구글 계정 보안 정책상 카카오톡 내장 브라우저 내 로그인을 허용하지 않은 관계로, 디바이스에 설치된 기본 브라우저(Google Chrome 등)를 통해서 신청하시길 바랍니다. 👉 글로벌 IT전문가와 킹고인의 만남 시즌2 신청하기 플랫폼 인프라스트럭처 운영사/제공자: Google LLC/Bevy Labs, Inc. 행사 신청하기 1. GDSC 이벤트 플랫폼 웹사이트에서 구글 계정을 이용해서 로그인을 합니다. 2. (처음 로그인하는 경우) Sign up 페이지에서 필요한 정보를 입력합니다. 3. 로그인인 된 상태일 경우 "RSVP for this event now!" 아래에 온라인/오프라인 참석을 선택할 수 있습니다. 희망하시는 참석 방법 오른쪽에 있는 RSVP 버튼을 클릭하시면 됩니다. 4. RSVP 클릭 후 참석자 (Attendee Information) 입력하세요. (한글 설명, 학번, 전공 등) 5. RSVP Confirmed가 표시될 경우 신청이 완료되었음을 확인하실 수 있습니다. 행사 참석하기 (온라인) 행사가 시작될 경우 행사 웹페이지에서 [Join Event] 버튼이 표시됩니다. [Join Event] 버튼을 클릭하시면 바로 참석하실 수 있습니다. 참고: 행사 신청하신 경우 시스템 상 자동으로 이메일을 통해서 안내드립니다.

[모집] 2024학년도 1학기 신규인원 모집: 3/10(일) 마감

안녕하세요, 구글 기술 앰버서더, 성균관대학교 Google Developer Student Clubs 입니다! GDSC (Google Developer Student Clubs)는 Google에서 학생들이 개발/리더십 능력을 향상할 수 있도록 지원하는 대학생 커뮤니티 프로그램입니다. 성균관대학교 GDSC는 구글 코리아, Google for Developers, SW중심대학사업단 등 다양한 단체와 협업하여 구글 기술을 대중에 알리고 관련 행사를 주최하며, 이러한 프로그램을 통해 협업성, 인적 네트워킹 및 리더십을 향상할 수 있습니다.

[62회] 매년 바뀌는 프론트엔드 분야에서 개발자가 살아남는 방법 - 글로벌 IT전문가와 킹고인의 만남 시즌2 예순두번째 만남

글로벌 IT전문가와 킹고인의 만남 시즌2 62회차 강연자를 소개합니다! 안녕하세요, 미래의 IT 리더 여러분! 세계적으로 인정받는 글로벌 IT 전문가 Naman Gupta가 성균관대학교를 방문해 대학생들을 대상으로 특별한 강연을 개최합니다. Naman Gupta 님는 Neurotone AI의 시니어 소프트웨어 엔지니어로 활동하며, Google Developer Groups 뉴델리의 공동 조직자이자 Google Summer of Code 2017 수상자입니다. Naman Gupta 님의 강연에서는 인공지능, 머신러닝, 웹 개발 등 최신 IT 트렌드와 혁신적인 제품 개발 방법을 배울 수 있습니다. 또한, 글로벌 기업에서의 커리어 쌓기와 스타트업 창업 노하우도 공유할 예정입니다. 특히 IT 분야에 관심 있는 대학생들에게 큰 도움이 되는 만큼 많은 참여 부탁드립니다! 매년 바뀌는 프론트엔드 분야에서 개발자가 살아남는 방법 Surviving as a Developer in the Ever-Changing Frontend Field 📆 일시: 2024년 9월 12일(목) 12:00 ~ 13:00 💡 강연방식: 온/오프 하이브리드 강연 🔎 강연자: Naman Gupta (GDG New Delhi/University of Wisconsin-Madison) 🎬 강연참여 - 오프라인 강연 참여 (20명 선착순) : 자연과학캠퍼스 삼성학술정보관 2층 솦ː공방 인(仁) 480209호 - 온라인 강연 참여 : 신청자에 한하여 신청 이메일로 강연링크 발송 * 오프라인 참여 학생 : 약속을 지키는 성균인! NoShow 불가! 🏆 참석혜택 - 오프라인 참석 학생들에게 간단 도시락 증정 (종료 후)  - 온/오프 참석 전원 AI품 비교과 1시간 인정 - 온/오프 참석 전원 킹고코인 마일리지 10코인 부여 👉 신청방법 가이드: https://gdscskku.blogspot.com/2024/03/itglobalseminar-help.html 👉 행사 참석 URL (신청 필요...

GCP(Google Cloud Platform) 소개

개요 “클라우드”에 대해 들어보신 적이 있나요? 클라우드란 서버, 스토리지, 데이터베이스 등의 다양한 컴퓨팅 서비스를 인터넷을 통해 제공하는 것을 말합니다. "클라우드? 그게 뭐죠?"라고 생각하실 수도 있겠지만, 이미 클라우드의 개념은 우리 일상 속에 자리잡아 아주 큰 지분을 차지하고 있습니다. GCP란? GCP(Google Cloud Platform)는 구글의 클라우드 플랫폼 서비스로, 유저가 손쉽게 구글의 컴퓨팅 자원을 사용할 수 있도록 다양한 도구와 기술을 제공합니다. 스마트폰에 저장된 사진부터 대형 기업들의 비즈니스 데이터까지, GCP는 모든 것을 안전하게 보관하고 처리하는 역할을 수행하고 있습니다. GCP와 함께라면 가능한 일들 Computing Engine 이 서비스는 마치 가상의 컴퓨터를 빌려주는 것과 같습니다. 만약 큰 데이터를 분석하거나 특별한 프로그램을 실행하고 싶을 때, 집의 일반 PC로는 어렵다면 Compute Engine을 통해 강력한 컴퓨터를 임시로 사용할 수 있습니다. 만약 연구 프로젝트를 진행하려고 하는데, 광범위한 데이터 세트를 분석해야 한다고 해봅시다. 그러나 집에 있는 개인용 컴퓨터로는 처리 속도나 메모리 용량 등의 문제로 인해 이 데이터 분석을 효과적으로 수행하기 어려울 수 있습니다. 이때, 구글 클라우드의 Compute Engine을 사용하면, 필요한 사양의 가상 머신을 선택하고, 필요한 도구와 소프트웨어를 설치한 후, 큰 데이터 세트를 효율적으로 분석할 수 있습니다. 분석이 끝나면, 해당 가상 머신을 종료하면서 사용한 시간만큼의 비용을 지불하게 됩니다. 또한, 웹 개발자라면, 신규 웹 서비스의 테스트 환경을 만들기 위해 Compute Engine을 활용할 수 있습니다. 특정 국가에서의 서비스 테스트, 다양한 환경에서의 성능 체크 등 여러 시나리오를 효과적으로 구현해 볼 수 있죠. 이렇게 Compute Engine은 각종 연구, 개발, 테스트 등 다양한 분야에서 활용될 수 있어, 사용...

[11월 행사] 머신러닝/인공지능 (ML/AI) 스터디 워크샵: 사전 신청 오픈! — Google Developers 전문가와 함께하는 머신러닝/인공지능 학습, 텐서플로우 실습 및 네트워킹 기회! (11/9 사전신청 마감)

  👉 사전 신청 종료 추가적인 사전 신청을 원하시는 경우 연락 페이지 를 통해서 문의하시길 바랍니다. 업데이트 (11/8): 본 행사는 정책상 참여자 분들께서 요청하실 경우 행사 참여 확인서를 발급해드릴 예정입니다. 행사 참석 당일날 스태프 분께 말씀하시면 됩니다. 업데이트 (11/9):  상세한 행사 정보가 부분적으로 오류가 있어서 정정했습니다. (행사 시작 시간은 변경되지 않았습니다.) 기타 문의하실 사항이 있으실 경우 연락 페이지를 통해서 문의주시면 감사하겠습니다.   안녕하세요, 성균관대학교 Google Developer Student Club (GDSC) 입니다. Google Developers 전문가 분들과 함께 저희 GDSC SKKU TensorFlow 팀에서 11월 10일 💻November ML/AI Study Workshop💻을 주최합니다! 👏🏼 프로그램에서는 TensorFlow 기초 이해부터 주요 신경망 모델링 및 학습까지 TensorFlow 기술 전반에 대한 실습이 진행되며 관련 전문가 분들과의 네트워킹 기회가 제공될 예정입니다. 🍔 또한 본 행사에서는 참가자분들을 위한 간식, 음료와 간단한 저녁식사도 준비되어 있습니다! 👇🏼 이벤트 상세 내용은 아래와 같습니다. 📍 일시: 11월 10일 (금) 16:00 ~ 20:30 📍 장소: 자연과학캠퍼스 화학관 1층 330102 첨단강의실 📍 참가대상: 성균관대학교 학부생 누구나 📍 프로그램 내용 I. TensorFlow 기초 이해 II. 주요 신경망 모델링 및 학습 (CNN, Cloud Run, RNN) III. 종료 및 네트워킹 📍 진행자 이영빈 님 (GDG Songdo Organizer) 한상준 님 (GDG Songdo Organizer) 권정민 님 (Google Developer Experts) 장현수 님 ((전)성균관대학교 박사) 📍 사전 신청링크 https://gdscskku.blogspot.com/mlai-study   머신러...