전체 글

전체 글

    [debugging] torchvison model 다운로드시 나타나는 WinError 10060 해결하기

    torchvision에서 transfer learning model을 불러와 학습시키고자 할 때 해당 에러가 나올 수 있다. model = models.resnet50(pretrained=True).to(device)이렇게 모델을 가져오면, https://download.pytorch.org/models/모델명 링크를 통해 가져온다. 이 때 WinError 10060 이 발생한다면, 직접 다운로드 받아 경로에 옮겨 모델을 사용할 수 있다. torch.hub.get_dir()1. 먼저, 위 코드를 입력해 어떤 경로에 다운로드 받아야하는지 확인한다. 보통 로컬의 경우 'C://Users//사용자이름//.cache//torch//hub//checkpoints' 일 것이다. (윈도우) 2. 확인한 후에 http..

    내적과 코사인 유사도

    내적과 코사인 유사도가 어떤 연관이 있는지 정리해 보겠습니다. 내적 (Dot product / Scalar product) 여러 가지 연산 중 하나의 연산이다. 벡터와 벡터의 연산 결괏값은 스칼라 공식 : a • b = |a| * |b| * cos θ 코사인 유사도 (Cosine Similarity) 두 벡터 사이의 각도를 계산해 두 벡터의 유사도를 측정하는 척도 1에 가까울수록 두 벡터가 유사하다고 해석 유사도는 두 벡터가 가리키는 방향의 유사도를 의미 방향이 같다면 코사인 유사도는 1, 직교한다면 0, 정반대의 방향이라면 -1로 표현한다. 코사인 유사도에서 내적 내적의 공식을 다시 살펴보면, a • b = |a| * |b| * cos θ이다. 두 벡터의 크기와 두 벡터가 이루는 각의 코사인 값을 곱한..

    [운영체제] 메모리 관리 전략

    물리 메모리와 가상 메모리 물리 메모리 CPU는 물리 메모리에 적재된 코드만을 실행할 수 있다. 가상 메모리 하드디스크 공간을 이용해 물리 메모리가 훨씬 커진 것처럼 사용하는 기술 실제 공간 : 하드디스크 + RAM 논리 메모리에 있는 프로세스를 실행할 때 필요한 부분만 물리 메모리에 로딩한다. 논리적인 주소와 물리적인 주소를 매핑(mapping)하는 작업을 이용해 가상 메모리 기법을 사용한다. 메모리 관리 전략 제한된 메모리를 효율적으로 사용하기 위한 관리 전략 논리 메모리와 물리 메모리 스와핑 (Swapping) 메모리와 HDD, SSD 등의 보조 기억장치간에 프로세스를 이동시키는 것 프로세스의 주소 공간을 일시적으로 디스크(보조 기억장치)로 내려놓는다. 너무 많은 프로그램이 메모리에 동시에 올라와 ..

    iterator와 lazy evaluation

    면접 스터디에서 질문 iterator와 iterable의 차이점은 무엇입니까? 에 대해 공부하다가 궁금증이 생겼다. 먼저 질문에 답을 해보자면, iterator iterable 객체를 순회하는 객체 iter() : iterable 객체로부터 iterator를 생성하는 메소드 next() : 메소드로 다음 요소를 탐색한다. (__next()__ 를 호출) iterable 한 번에 하나씩 돌려줄 수 있는 특성 iterable 한 객체 = 한 번에 하나씩 돌려줄 수 있는 객체라는 뜻 = 순회할 수 있는 객체 e.g. list, set, tuple, dictionary, string 로 정리할 수 있다. 또 중요한 점은 iterator는 항상 iterable 하지만, iterable 한 객체는 무조건 itera..

    튜플 (Tuple)

    튜플의 특징 1. 변경이 불가능하다. (immutable) - 리스트와 차이점 - 선언된 후에는 요소를 변경할 수 없다. 왜? 효율성 때문에 용량이 적고, 접근이 빠르다. 따라서 변경할 일이 없다면 리스트보다 튜플을 사용하는 것이 보다 효율적임 - 변경할 수 없기 때문에 정렬과 관련된 내장 함수를 사용할 수 없다. (e.g. sort(), reverse()) 2. 여러 값에 대해 비교가 가능하다. (0, 1, 2) >> True ('Apple', 'Juice') > ('Banana', 'Smoothie') >>> False - 왼쪽부터 차례대로 비교한 후 값이 다를 경우 큰지 작은지 판단한다. - 판단한 후에는 나머지 값들을 비교하지 않는다.

    2. 도커 이미지, 네트워크

    본 내용은 생활코딩-Docker 입구 수업을 공부하며 재정리한 내용입니다. 잘못된 내용에 대한 의견은 댓글로 부탁드립니다. 감사드립니다. :-) 도커 이미지 registry라는 docker hub에서 image를 Pull 한다. (download app on app store) image 실행(run)한다. ⇒ container가 된다. 이미지란? 프로그램, 라이브러리, 실행파일, 소스 등을 설치한 후 만든 하나의 파일(을 저장한 형태) image를 run ⇒ Image를 실행할 수 있는 container가 생성된다. 네트워크 Port Forwarding web browser에서 web을 띄우기 위해서는 server에 web을 요청해야 한다. 이때, port를 지정해서 원하는 파일을 server에 요청할..

    1. 컨테이너, 도커, 쿠버네티스 구분하기

    구글 클라우드의 퀵 랩(Qwiklabs)에서 Kubernetes in Google Cloud 코스를 실습했습니다. 실습하기 전에 컨테이너, 도커, 쿠버네티스 이 셋의 개념을 확실히 하기 위해 구글링 하며 정리해보았습니다. https://samsungsds.com/kr/story/220222_kubernetes1.html 쿠버네티스 알아보기 1편: 쿠버네티스와 컨테이너, 도커에 대한 기본 개념 요즘 IT 생태계에 관심이 많으신 분들이라면 쿠버네티스라는 단어를 들어 보셨을 텐데요. 쿠버네티스에 대해 개발자들의 관심이 높아지고 있고, 여러 대기업에서 새로운 시스템을 쿠버네티스를 samsungsds.com 위 페이지의 내용을 참고했습니다. 잘못된 내용에 대한 의견은 댓글로 부탁드립니다. 감사드립니다. :-) 전..

    0. Docker란?

    본 내용은 생활코딩-Docker 입구 수업을 공부하며 재정리한 내용입니다. AI/ML 프로젝트를 진행하면서 환경설정의 어려움을 겪었습니다. 특히 팀 단위 프로젝트를 할 때, 각자의 OS, 프로그램 버전 등 모든 환경이 달라 같은 모델도 동작하지 않을 때가 있었습니다. 그래서 매번 버전을 맞추는 등 수고를 했는데, 이런 것들을 편리하게 해결할 수 있는 것을 알게 되었고... 바로 Docker! 였습니다. 본격적으로 공부하고 싶어 구글에서 진행하는 스터디 잼을 신청했습니다. 스터디 잼을 시작하기 전 도커, 컨테이너 등의 개념을 정립하고자 생활코딩을 통해 공부했습니다. 맨 위 링크에 있는 Docker 입구 수업을 들으며, 모르는 부분은 찾아가며 정리해보았습니다. 잘못된 내용에 대한 의견은 댓글로 부탁드립니다...