본문 바로가기

반응형

좋아하는 것_매직IT/24.tensorflow

16.tensorflow, 구글 코랩(Google Colab) 에 대해서 알아보자. 블로그 목적 구글 코랩(Google Colab)에 대해서 알아보고 직접 체험 후 정리해본다. 구글 코랩(Google Colab)이란? 구글에서 지원하는 주피터 노트북을 구글서버에 특화시킨 버전임. 구글 코랩 홈페이지 https://colab.research.google.com/ 그럼 장단점을 알아보자. 장점 보유하고 있는 컴퓨터가 GPU 가 없을경우, 구글의 GPU에서 코드를 실행해 볼 수 있음. 단점 아래와 같은 2가지 치명적인 단점이 존재함. 하나, 내가 새로 설치한 패캐지가 저장되지 않는다는 것. (OTL 1.....) 둘, 사용한 예제 파일 or 가중치 값이 유실될 수 있다는 것. (OTL 2.......) 제약사항 코랩에서 작업을 하려면, 만약 기존에 작업했던 텐서플로버전이 다를 경우, 버전을 .. 더보기
15.tensorflow, 난수(Random)에 대해서 알아보자. 블로그 목적 머신러닝 학습 알고리즘에서 사용할 난수에 대한 지식을 얻는 것이 목적이다. 난수(Random)에 대해서 알아보자. 난수는 PRNG(Pseudo Random Number Generator, 의사 난수 생성기)를 통해서 생성됨. 즉, 논리적으로 계산된 수를 생성해냄. 그리고, 텐서플로는 PRNG를 이용해 임의의 분포를 갖는 난수 텐서를 생성해냄. 그럼, 균일분포에 대해서 알아보자. 균일분포(Uniform Distribution)란? 주어진 범위 내의 모든 수가 동일한 분포를 갖는 형태를 말함. 균일 분포 함수 tf.random.uniform( shape, minval=0, maxval=None, dtype=tf.dtypes.float32, seed=None, name=None ) 참고페이지 ht.. 더보기
14.tensorflow, 쥘리아 집합(Julia set)에 대해서 알아보자. 블로그 목적 텐서플로에서 쥘리아 집합(Julia set)에 대해서 알아본다. 쥘리아 집합이란? 가스통 쥘리아(Gaston Maurice Julia) 가 고안한 프랙탈의 일종 쥘리아 집합은 주어진 복소수 c에 대해서 다음 점화식에 따라 정의된 수열이 발산하지 않는 성질을 갖도록 하는 복소수 z의 집합으로 정의됨. zn+1 = zn2 + c 위의 점화식은 망델브로집합의 것과 같지만, 망델브로 집합은 z0=0+0i일 때 z를 발산하지 않게 하는 c의 집합이라는 점이 다름. 즉, z와 c의 역할이 뒤바뀐 것 쥘리아 집합은 망델브로 집합과 동일하게 자기유사성을 가지며 가까운 두 점이 서로 다른 양상을 보이는 초기 조건의 민감성도 가짐. 참고페이지 wiki https://ko.wikipedia.org/wiki/%E.. 더보기
13.tensorflow, 프랙탈(fractal)에 대해서 알아보자. 블로그 목적 텐서플로에서 프랙탈에 대해서 알아보자. 프랙탈(fractal)이란? 부분의 구조가 전체 구조와 유사한 기하학적 형태를 말함. 보통, 영국의 해안 모양과 같이 자연에서 주로 발견됨. 망델브로집합(Mandelbrot set)은 가장 잘 알려진 프랙탈 중 하나임. 참고 페이지 프랙탈 wiki https://ko.wikipedia.org/wiki/%ED%94%84%EB%9E%99%ED%83%88 그럼, 망델브로 집합에 대해서 알아보자. 망델브로 집합(Mandelbrot set)은 브누아 망델브로가 고안한 프랙탈의 일종 즉, 아래 집합은 폴란드 수학자 브누아 망델브로가 고안한 가장 유명한 프랙탈 중 하나 망델브로 집합은 아래 점화식으로 정의된 수열이 발산하지 않는 성질을 갖도록 하는 복소수 c의 집합.. 더보기
12.tensorflow, 텐서(Tensor)에 대해서 알아보자. 블로그 목적 텐서(Tensor)의 자료구조 및 1차/1차/3차 텐서에 대해서 알아본다. 텐서의 자료구조에 대해서 알아보자. 텐서란? 텐서플로의 기본자료구조를 말함. 다차원 배열 or 리스트로 구성되어 있는 단순한 구조. 그리고, 데이터 플로우 그래프에서 엣지를 연결함. 텐서를 구분하는 3가지 요소 Rank 텐서의 차원을 나타냄. 즉, Rank 가 N인 텐서는 N차원 행렬을 나타냄. ex) Rank 2의 텐서(=행렬) / Rank 1의 텐서(=벡터) Shape 텐서의 행/열이 몇개인지 나타냄. Type 텐서의 데이터의 형식을 나타냄. 그럼, 텐서는 어떻게 만들까? 하나, NumPy 등을 이용한 N차원 배열을 만드는 방법 둘, N차원 배열을 텐서플로 텐서로 변환하는 방법 다시말해서, 텐서로 변환된 이후에 텐.. 더보기
11.tensorflow, 텐서보드(TensorBoard) 에 대해서 알아보자. 블로그 목적 텐서플로우의 시각화 도구인 텐서보드(TensorBoard) 에 대해서 간략하게 알아본다. 텐서보드란? 한마디로, 텐서플로우의 시각화 도구임. 데이터 플로우 그래프를 분석하고 머신 러닝 모델을 시각화해 이해도를 높일 수 있도록 해주는 유용한 도구 그럼, 어떤것을 보여줄까? 하나, 변수에 대한 통계정보를 보여줌 둘, 그래프의 상세한 구조를 살펴볼 수 있도록 시각화해 나타냄. 그래프는 매우 복잡해지는 경우가 많음. 왜냐하면, 딥 뉴럴 네트워크는 종종 36000개 이상의 노드를 갖는다고 함. 셋, 인터렉티브한 시각화 기능을 통해 사용자가 그래프의 일부분을 확대 및 축소해 상세한 정보를 확인할 수 도 있음. 넷, 텐서 보드는 노드를 계층별로 접거나 펼칠 수 있고, 같은 형식의 데이터는 구별하기 쉽게 .. 더보기
10.tensorflow, 텐서플로우(TensorFlow) 에 대한 기초지식에 대해서 알아보자. 블로그 목적 텐서플로우(TensorFlow) 에 대한 기초지식을 배움으로서 아직 낯설은(?) 텐서플로우와 좀더 친해지자. 텐서플로우의 기초지식을 알아보자 텐서(Tensor) 텐서(Tensor) 란 무엇인가? 물리학에서 나온 개념으로 벡터와 유사하나 일반화된 개념 그리고, 텐서플로우의 기본 자료형이라 알고있으면 됨. 다차원 배열의 일반화 or 아무 차원이나 가질 수 있는 값들의 집합. 텐서의 구성요소 3가지 Rank 텐서플로우에서는 Rank 라는 용어를 통해서 구조를 표현함. 다시말해서, 랭크는 그 차원의 수를 말함 랭크의 동의어는 order 또는 degree, n-dimension 참고로 텐서플로우의 랭크는 수학에서 사용하는 행렬의 랭크와는 다름. Rank 의 형태 랭크 수학 개체 예제(python) 0.. 더보기
9.tensorflow, 텐서플로우(TensorFlow) 환경을 구축해보자. 블로그 목적 텐서플로우관련 환경을 어떻게 구축하는지에 대해서 알아본다. 본격적으로, 텐서플로우를 설치 해보자. 설치 환경 텐서플로우는 PC 환경에 따라 아래와 같이 설치 가능함. CPU(Central Processing Unit) 버전 복잡한 계산을 빠르게 처리 할 수 있으나, 직렬처리 방법임. GPU(Graphics Processing Unit) 버전 간단한 계산을 빠르게 처리 할 수 있고, 병렬처리 방법을 사용하여 동시에 여러 계산이 가능함. 단, NVIDIA 사의 그래픽 드라이버만을 지원한다고 함. 참고) CPU 와 GPU 에 대해서 좀 더 알아보자. CPU 우선, CPU는 컴퓨터의 두뇌를 담당함. 즉, 다양한 환경에서의 작업을 빠르게 수행하기 위해 ALU의 구조가 복잡하고 명령어 하나로 처리할 수.. 더보기

반응형