목록전체 글 (768)
우노
RDD Operation Spark 의 RDD 는 2가지 Operation(Transformation, Action) 을 사용해 조작할 수 있습니다 Transformation 기존의 RDD 를 변경하여 새로운 RDD 를 생성하는 것입니다. 즉, 리턴값이 RDD 입니다. map, filter 등을 예로 들 수 있습니다. Action RDD 값을 기반으로 무엇인가를 계산해서, 결과를 생성하는 것입니다. 즉, 리턴값이 데이터 또는 실행 결과입니다. collect, count 등을 예로 들 수 있습니다. 이러한, RDD 동작 원리의 핵심은 Lazy Evaluation (느긋한 연산) 입니다. 즉, RDD 는 Action 연산자를 만나기 전까지는, Transformation 연산자가 아무리 쌓여도 처리하지 않습니..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ZjFDS/btrceaxhCOv/WbfH5B9iRw8A55CP9O2nAK/img.png)
구현 순서 EC2 생성 및 접속 Docker 설치 Dockerfile 생성 Image 생성 액세스 키 생성 AWS Configure 설정 ECR 환경 설정 Image tagging ECR 에 Image 업로드 Lambda Function 생성 Lambda Function 테스트 1. EC2 생성 및 접속 AWS Console 에서 EC2 서비스에 접속합니다. 아래 설정으로 EC2 를 생성합니다. Amazon Machine Image(AMI) Amazon Linux 2 AMI (HVM), SSD Volume Type 인스턴스 유형 t2.medium 스토리지 크기 20GB 보안 그룹 SSH, TCP, 22, 위치무관 2. Docker 설치 생성한 EC2 에 접속한 뒤, Docker 를 설치합니다. (Linu..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bg4t8l/btrb1r7qOoO/3JPZDfLP3CFqCwSiXRIKO1/img.png)
AWS Lambda + API Gateway 로 RESTful API 생성 구현 순서 AWS Lambda 콘솔을 사용하여, Lambda 함수 생성 API Gateway 콘솔을 사용하여, REST API 생성 API 테스트 실행 순서 사용자가 REST API 를 호출하면, API Gateway 는 요청을 Lambda 함수로 라우팅 API Gateway 는 Lambda 로부터 받은 응답을 사용자에게 반환 1. Lambda 함수 생성 (Python) POST 받은 데이터를 그대로 출력하는, 간단한 Lambda 함수를 생성합니다. https://console.aws.amazon.com/lambda에서 Lambda 콘솔에 로그인합니다. [함수 생성] 을 선택합니다. [함수 이름] 을 입력합니다. — 해당 포스트에..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c6o03Y/btrb3mEn1zQ/OoUXK41sny2SduN9nkCXik/img.png)
목표 Tensorflow 모델을 사용해, 입력에 대한 예측값을 출력해주는 Lambda Function 을 생성합니다. Lambda Function 은 모델을 사용하기 위해 고용량 패키지를 호출해야하는데, AWS Lambda 에서 제공해주는 파일 저장소는 크기 제한이 존재하므로 Amazon EFS 를 통해 AWS Lambda 에서 고용량 패키지를 사용 가능하도록 설정합니다. 순서 Lambda 에서 사용할 package 를 EFS 에 설치 EFS 를 마운트 할 EC2 생성 Lambda 에서 EFS 로 접근하기 위해, EFS 용 보안 그룹 생성 EFS 및 액세스 포인트 생성 EC2 접속 후, EFS 마운트를 위한 패키지 설치 EC2 에 EFS 마운트를 진행할 디렉토리 생성 후, 마운트 진행 마운트 디렉토리에 ..
Tensorflow 는, 두 개의 포맷 (SavedModel 과 HDF5) 으로 모델을 저장할 수 있습니다. SavedModel 포맷으로 모델 저장/불러오기 (기본) SavedModel 포맷은 TF2.x 의 기본 파일 포맷입니다. 모델 저장하기 # 모델 생성 및 훈련 model = create_model() model.fit(train_images, train_labels, epochs=5) # 전체 모델을 기본 포맷으로 저장 model.save('model') 모델 불러오기 import tensorflow as tf # 모델 불러오기 load_model = tf.keras.models.load_model('model') HDF5 포맷으로 모델 저장/불러오기 .h5(HDF5)..
.h5 이란? 학습 시킨 model 을 파일로 저장할 때, 보통 .h5 확장자로 저장합니다. .h5 확장자는, HDF5 포맷으로 데이터를 저장한다는 것을 의미합니다. .h5 파일은, 모델 및 가중치(weight)를 모두 가지고 있습니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqps7e/btrbtoYho3N/05VIU834czgL2oWBfxwAz1/img.png)
DynamoDB + Lambda 를 통해 DynamoDB 테이블 항목을 조작하는 RESTful API 생성 구현 순서 DynamoDB 콘솔을 사용하여, DynamoDB 테이블 생성 DynamoDB 콘솔을 사용하여, DynamoDB 항목 생성 AWS Lambda 콘솔을 사용하여, Lambda 함수 생성 API Gateway 콘솔을 사용하여, REST API 생성 API 테스트 실행 순서 사용자가 REST API 를 호출하면, API Gateway 는 요청을 Lambda 함수로 라우팅 Lambda 함수는 DynamoDB 와 상호 작용하고, API Gateway 에 대한 응답을 반환 API Gateway 는 Lambda 로부터 받은 응답을 사용자에게 반환 1. DynamoDB 테이블 생성 https://con..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/94n18/btraBvK6HPq/CfPfz7B9gUv4Tdo5t6btmK/img.png)
Distributed Training (분산 학습) 이란? 딥러닝 모델 설계 과정에는 많은 시간이 소요됩니다. 따라서, 모델의 학습 과정을 가속화하는 것은 매우 중요합니다. 분산 학습은 이러한 딥러닝 모델의 학습 시간을 단축하는데 필수적인 기술 중 하나입니다. Distributed Training 분산 학습의 핵심 개념은 크게 3가지로 분류할 수 있습니다. 작업 분할 방식 Model Parallelism Data Parallelism Parameter 동기화 방식 Synchronous replication Asynchronous replication Gradient 취합 방식 All-Reduce (Parameter Server) Ring-AllReduce 작업 분할 방식 작업 분할 방식은 2가지로 분류됩..
Fine-Grained 하나의 작업을 작은 단위의 프로세스로 나눈 뒤, 다수의 호출을 통해, 작업 결과를 생성해내는 방식 예를 들어, Do() 라는 함수가 있다면 해당 함수를 First_Do(), Second_Do() 로 나누어 작업 결과를 생성해내는 방식 따라서, 다양한 "Flexible System" 상에서 유용하게 쓰일 수 있음 Coarse-Grained 하나의 작업을 큰 단위의 프로세스로 나눈 뒤, "Single Call" 을 통해, 작업 결과를 생성해내는 방식 예를 들어, Do() 라는 함수가 있다면 단순히, Do() 를 호출해 작업 결과를 생성해내는 방식 따라서, "Distributed System" 상에서 유용하게 쓰일 수 있음 참고 https://m.blog.naver.com/PostVie..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b8Mgxr/btraCTchyBv/7B5zo9mtjPcapEa4TGOTo1/img.png)
Matrix Multiplication 을 통한 Multi Source BFS Search Directed Graph 는, 특정 노드와 인접한 노드를 Matrix Multiplcation 을 통해 찾을 수 있습니다. 전체 흐름 세부 설명 예를 들어, 아래와 같은 Directed Graph 가 주어졌을 때 해당 Directed Graph 는 아래와 같은 Matrix 로 표현할 수 있습니다. col : 시작 노드 row : 도착 노드 이때, 해당 Directed Graph 에서 3번 노드, 5번 노드와 인접한 노드를 찾고자 한다면 Directed Graph Matrix 에 아래와 같은 Matrix 를 곱해주면 됩니다. col : 시작 노드로 지정할 노드의 개수 row : 시작 노드의 번호 따라서, 아래와 같..