반응형

정리하기 9

Efficientnet 예제

keras layer를 통해 모델의 layer를 직접 정의해서 사용할 수 있다. 아래 코드 처럼from keras.layers import Dropout, Flatten, Densefrom keras.models import Model, Sequentialfrom keras.layers import Dense, GlobalAveragePooling2Dmodel = Sequential()model.add(Conv2D(64, kernel_size=(3, 3), input_shape=INPUT_SHAPE, padding='VALID'))model.add(Conv2D(64, kernel_size=(3, 3), padding='VALID'))model.add(MaxPooling2D(pool_size=(2, 2))..

정리하기/CNN 2024.07.17

📕객체지향의 사실과 오해📕

예전에 면접에서 OOP에 대한 질문이 있었다. 아마 그때의 내 대답은 OOP의 특징을 나열하면서 답변 했던 것 같다. 이 책을 읽으면서 다음 면접 때 OOP 질문이 온다면 어떻게 대답해야할 지 생각하면서 읽게 됐다. 책의 내용을 요약해보면 아래와 같다. 객체지향프로그래밍(OOP)은 이름 그대로 객체를 지향한다. 시스템을 객체로 분류하고 시스템을 구현하기 위해 다른 객체와 협력한다. 각 객체는 협력 내에서 정해진 역할을 수행하고 메세지를 통해 다른 객체와 협력을 한다. 그 메세지를 처리하는 적합한 메서드를 자율적으로 선택한다. OOP의 특징인 추상화, 상속을 통해 객체 간의 연결이 유연해진다. 또 두 특징을 통해 객체의 일반화를 할 수 있고 이게 다른 객체로 쉽게 갈아 낄 수 있도록 한다. 이정도면 OOP..

정리하기 2023.07.27

[Docker] 컨테이너 네트워크

컨테이너 내에 있는 어플리케이션은 아래의 그림과 같이 3가지 방법으로 통신할 수 있다. 웹 API를 호출 컨테이너 외부인 로컬 PC(host machine)과 통신 다른 컨테이너와 통신 웹 API와 통신 어플리케이션에서 웹 API와 통신, 즉 HTTP request는 별 조치 없이 통신 가능하다. const response = await axios.get('https://swapi.dev/api/people'); javascript 프로젝트일 경우 보통 axios를 통해 웹과 통신을 하는데, 맞는 method(get,post,put 등) 사용하여 호출하면 된다. Host Machine(로컬 PC)과 통신 컨테이너 내의 어플리케이션에서 로컬PC 내의 데이터베이스(mongo DB)와 통신이 필요할 경우를 예..

정리하기/Docker 2023.03.05

[Docker] Volumes

어플리케이션에의 데이터 종류에 따라 저장되는 위치가 다르다. 어플리케이션단 데이터 코드 및 환경 변수에 대한 데이터를 뜻한다. 이러한 데이터는 개발자에 의해 생성되고 이미지와 컨테이너 생성될 때 사용되므로 이미지가 생성된 이후에는 수정할 수가 없다. 이 이유에는 이미지는 read만 가능하기 때문이다. 임시적인 데이터 유저에 의해 생성되고 예를 들어 input 데이터이다. 컨테이너가 실행될 때 생성되는 데이터로 메모리나 temp 파일에 저장이 된다. 그 temp파일은 read +write가 가능한 컨테이너에 저장된다. 영구적인 데이터 유저의 계정정보과 같은 (거의)영구적인 데이터는 컨테이너가 실행될 때 생성되지만 컨테이너가 종료되거나 재실행되어도 데이터 손실이 있으면 안된다. 이러한 데이터는 볼륨(Volu..

정리하기/Docker 2023.02.19

[Docker] Image & Container

이전 글에서 도커는 컨테이너 기반으로 실행 된다고 했다. 그러면 도커에서 image와 container는 어떻게 다르며, 어떤 관계인지 적어보려 한다. container는 어플리케이션이 실행 될 수 있는 전체 환경이고, image는 container의 템플릿이다. 그 템플릿에는 어플리케이션의 코드, 코드 관련한 것들을 포함한다. 그래서 image가 생성되면 container는 image기반으로 셋팅된 환경에서 실행하게 된다. 같은 이미지로 여러개의 container를 생성할 수 있고, 각 컨테이너는 독립적이기 때문에 서로 영향을 미치지 않는다. 그러면 컨테이너를 띄우기 위해서는 항상 이미지를 만들어야 할까? 항상 그렇지는 않는다. Dockerjub에 공개되어 있는 이미지를 사용하는 경우 그냥 가져다가 쓰..

정리하기/Docker 2023.01.14

[Docker] Docker란?

Docker는 CI/CD의 일종으로 container 을 생성 및 관리하는 툴이다. 여기서 말하는 container는 어플리케이션이 실행 될 수 있는 유닛을 말한다. 그래서 container 내에 어플리케이션이나 이를 실행할 수 있는 라이브러리 등을 담을 수 있다. 예를 들어 노드 어플리케이션에 대한 container를 생성한다면, 그 컨테이너에는 아래의 항목들이 포함될 것 이다. node (특정 버전) 어플리케이션 필요 라이브러리 기타 등등 이런 구성으로 된 컨테이너 기반으로 실행하면 환경에 제한 없이 항상 똑같은 구성으로 어플리케이션을 실행 할 수 있는 장점이 있다. 또 같은 컨테이너를 복제하거니 다른 컨테이너를 여러개 띄울 수 있다. 컨테이너가 마치 가상머신과 비슷한가? 라는 의문점이 들 수 있다...

정리하기/Docker 2023.01.14

[Docker] window에 설치 (WSL2)

진행은 아래와 같은 단계로 이뤄진다. 만약 WSL2가 설치 되어 있다면 2번으로 가 진행하면 된다. WSL2 설치 Docker 설치 1. WSL 2 설치 https://slowfactory.tistory.com/19 위의 링크에 설치하는 방법이 있다. 그 방법대로 따라하여 WSL2를 설치 하면 된다. 2. Docker 설치 아래의 링크에서 Docker Desktop for Window를 클릭하여 exe 파일을 다운받는다. https://docs.docker.com/desktop/install/windows-install/ 그리고 exe파일을 실행한 후 설치 완료하고 시스템을 재시작하면 끝! docker desktop을 실행하는 아래 그림과 같이 Docker Desktop starting... 이라는 문구..

정리하기/Docker 2023.01.10

NLP 공부하기 1 (Beginner)

회사에서 한 프로젝트를 맡게 됐었는데(지금은 무산이 됐지만) 그때 NLP를 이용해서 나름 정제화를 해보자는 목표가 있었다. 그 프로젝트가 무산 된 이유는 첫번째로 팀에 리소스가 부족하기 때문에 장기적인 목표를 계속 끌고 나갈 수가 없었고 두번째는 다른 방식을 통해 그 문제를 풀어나가려고 했다. 이 이유가 가장 큰 포션을 갖었다. 그래도 프로젝트 진행했을 때 나름 재밌게 느껴졌고 나는 NLP중에서 NER만 해봤지만 이것 외에도 다양한 영역을 다룰 수 있을 것 같다. 그래서 이전에는 빠르게 결과를 보여야 했기 때문에 기초 없이 뭔가를 하려는 시도를 많이 했는데 이제 개인으로 공부하는 것이니 기초부터 차근차근 해볼 생각이다. 어느 글에서 NLP beginner는 우선 데이터 전처리를 해봐야한다고 한다. 데이터..

정리하기/NLP 2022.09.04
반응형