본문 바로가기
훈련시 활용한 자원 및 툴 1. CPU vs GPU CPU는 거의 모든 계산을 사용 할 수 있으나, 병렬 컴퓨팅에 적합하지 않음. 순차적인 데이터를 사용하는 경우 유용할 수 있음 GPU는 이미지 생성과 조작을 위한 전자 칩으로 딥러닝에서 병렬 구조를 훈련하는데 빠른 연산이 가능함. 신경망과 같은 복잡한 다차원의 형식에서 학습 적합함. 다만 비싸고, 에너지 소비가 큼. 사용량 확인 함수 (linux) nvitop 사용량 체크 커멘드 라인 함수 어떤 GPU 사용할건지 os.environ["CUDA_VISIBLE_DEVICES"] = 사용하고자 하는 GPU 번호 CPU의 경우 os.environ["CUDA_VISIBLE_DEVICES"]="-1" 2. 모델 훈련 잘되고 있는지 성능 확인은 어디서해요? 훈련하면서 바로바로 시각화 해주는 .. 2023. 8. 28.
[multi-modal] Image, Text pair models Multimodal Learning Audio, Video, Image, Text 등 다중 형태의 데이터를 모델의 입력으로 사용 단일 형태 데이터(모달)의 한계를 극복하고자 여러 형태의 데이터를 사용해 주어진 문제를 해결하는 모델을 구축 왜 멀티모달이 필요할까? → 인간이 멀티모달이니까 (맥거크 효과) https://www.youtube.com/watch?v=PWGeUztTkRA multimodal deep learing 각 모달에 적합한 딥러닝 구조를 사용해 특징 추출 모달 통합 방식으로는 대표적으로 Feature concatenation, Ensemble classifier 두 가지 방법이 존재 (a) ex. 이미지는 CNN, 텍스트는 RNN을 사용해 피쳐 벡터를 추출해 결합해 사용하는 방법 (b) .. 2023. 8. 27.
[Class 101] 협업 필터링 기반 추천 목록 만들기 보호되어 있는 글 입니다. 2023. 8. 27.
[Class 101] 룰 베이스 기반 추천 목록 만들기 보호되어 있는 글 입니다. 2023. 8. 27.
[Class 101] 추천시스템 이해하기 보호되어 있는 글 입니다. 2023. 8. 27.
[강연] 모두팝 : AI연구원으로 일하는 법 이한울 연구원님 강연 기록 AI aplication 연구직 EleutherAI HaeRae 팀 정보처리학회, 한국지능저오시스템학회 논문 하정우 박사님 강연 (네이버 AI 헤드) 채용시장의 구조 기업의 Hierachy of needs 데이터 수집 (Collect) 데이터 수집을 위한 플로우를 갖춰야 함 (서버 세팅 파이프라인 등) 데이터 노이즈 전처리 필요 Aggregate/label 시각화 Learn/optimize 단계별로 필요한 사람이 다름. 기업의 규모와 특성에 따라서 담당하는 범위가 다름. 문과 비전공자의 장벽 선형대수학 및 기타 수학적 토대 Mathmatics for Machine Learning & Data Science 대학 강의 중 통계수학, 공학수학 수리통계학, 확률론 등 통계학적 지식 .. 2023. 8. 26.
Model 저장과 사용 (tf.keras) 저장 # 1. 모델 통째로 저장 model.save('./my_model') # 2. weight만 저장 model.save_weights('./my_model/epoch_001') # 3. callbacks를 사용하여 저장 # 체크포인트 경로 지정({}변수 에 epoch 값이 들어가도록 epoch fotmat을 포함시켜야 한다.) checkpoint_path = "./checkpoints/epoch_{epoch:03d}.ckpt" # 체크포인트 콜백 만들기 cp_callback = tf.keras.callbacks.ModelCheckpoint(checkpoint_path, save_weights_only=True, period=1, # 1개의 epoch마다 저장 verbose=1) model.fit(t.. 2023. 8. 26.
[AI기술] 카카오 컨퍼런스 세션 요약 보호되어 있는 글 입니다. 2023. 8. 26.
[Numpy] 이미지 array (3, 4차원) 다루기 1. Array 다루기 3차원 배열(RGB)의 조건부 수정 # array.shape : (1024, 12xx, 3) -> [[[0, 0, 0], [ ... ]]] array[(array.sum(axis=-1) == 0)] = 255 # [[[0, 0, 0], [ ... ]]] 경우에서 # [0, 0, 0](검은색) 한 묶음으로 더해지는데 값이 0인 경우 → [255, 255, 255](흰색)으로 수정 두 배열 동일한지 여부 (비교) np.array_equal(a1, a2, equal_nan=False) 요소 별 곱셈 * or np.multiply() 2. 이미지↔ 픽셀 (OpenCV, PIL) 이미지를 픽셀로 보기 (OpenCV) img = cv2.imread(img_name) 이미지를 픽셀로 보기 (P.. 2023. 8. 26.
728x90