DL&ML

    pytorch에서 num_workers의 역할과 적절한 수

    num_workers는 PyTorch의 DataLoader에서 사용되는 인자로, 이를 지정하면 데이터를 읽고 처리할 때 컬렉션을 병렬적으로 처리할 수 있도록 지원해줍니다. 일반적으로 num_workers는 컴퓨터의 코어 수와 비슷하게 설정하는 것이 좋습니다. 그러나 적절한 값은 실제 사용 상황에 따라 달라질 수 있습니다. 일반적으로는 작은 값을 설정할수록 좋은 성능을 낼 수 있지만, 작은 값을 설정하면 컴퓨터의 자원을 적게 사용하기 때문에 더 많은 작업을 처리할 수 있습니다. 반대로, 큰 값을 설정할수록 성능은 떨어지지만 컴퓨터의 자원을 더 많이 사용할 수 있어 더 많은 작업을 처리할 수 있습니다.

    anaconda3 / miniconda3 가상환경 설정

    Conda는 파이썬 기반의 개발 환경을 구축할 수 있는 오픈 소스 관리 프로그램입니다. Conda를 이용하면 가상환경을 생성하여 각 가상환경마다 다른 버전의 패키지를 설치하거나 관리할 수 있습니다. Conda 가상환경 설정 메뉴얼은 아래와 같습니다. 1. 가상환경 생성하기 Conda를 이용해 가상환경을 생성하기 위해서는 아래 명령어를 입력합니다. conda create --name [python=] : 생성할 가상환경의 이름을 지정합니다. python=: 생성할 가상환경에 설치할 파이썬 버전을 지정합니다. 지정하지 않으면 기본적으로 시스템에 설치된 파이썬 버전이 설치됩니다. 2. 가상환경 전환하기 가상환경을 생성했다면, 가상환경을 전환하기 위해서는 아래 명령어를 입력합니다. conda activate :..

    Pytorch vs Tensorflow 비교

    PyTorch와 TensorFlow는 두 개의 오픈 소스 딥 러닝 프레임워크입니다. 이 두 개의 프레임워크는 사용자가 수학적 모델을 구현하고 학습할 수 있도록 지원합니다. 가장 큰 차이점 중 하나는 PyTorch가 인터페이스가 더 친숙하고 쉽게 사용할 수 있다는 것입니다. PyTorch는 인터페이스가 유연하고 쉽게 사용할 수 있기 때문에 새로운 사용자들에게 적합합니다.. 또한 PyTorch는 선전했던 연구들을 구현하기 위한 고급 기능들을 제공합니다. TensorFlow는 조금 더 진보한 기능을 제공합니다. TensorFlow는 자동 미분, 컴파일된 코드 실행, 장기 실행 상태 유지, 자동 그래프 생성과 같은 기능을 제공합니다. 또한 TensorFlow는 다양한 기기들과 플랫폼들과 연동할 수 있기 때문에 ..

    AWS gpu 서버 상품 종류 / 대여 비용

    AWS gpu 서버 상품 종류 / 대여 비용

    Q1. aws로 gpu가 있는 서버를 빌리려면 어떤 종류의 서버 상품을 선택해야 하나요? A1. AWS에서 GPU가 장착된 서버를 대여하려면 Amazon Elastic Compute Cloud (EC2)의 P2 인스턴스나 P3 인스턴스를 사용할 수 있습니다. P2 인스턴스는 NVIDIA K80 GPU가 장착된 서버를 제공하고, P3 인스턴스는 NVIDIA V100 GPU가 장착된 서버를 제공합니다. P2 인스턴스는 일반적으로 작은 서비스용 서버에 적합할 수 있습니다. 이 인스턴스의 최소 요금은 월 $0.9 per GPU hour 이며, 일반적으로 GPU $200~$300 정도가 될 수 있습니다. P3 인스턴스는 더 강력한 GPU를 제공하지만, 일반적으로 작은 서비스용 서버에는 적합하지 않을 수 있습니다...

    tmux 최신판 (tmux 3.3a) 설치 방법

    yum install tmux 를 하게 되면 1.8버전이 다운됩니다. 밑에는 tmux 3.3a 설치 방법입니다. wget https://github.com/tmux/tmux/releases/download/3.3a/tmux-3.3a.tar.gz tar -zxf tmux-*.tar.gz cd tmux-*/ ./configure make && sudo make install 하면 설치완료입니다.

    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 해결법

    ## 해결법 ssh-keygen -R {해당IP}

    Faiss.indexIVFFlat 설명 및 코드,실험 결과

    Faiss.indexIVFFlat 설명 및 코드,실험 결과

    IndexIVFFlatquantizer가 quantization index (cluster)를 생성한 후,각 query vector와 가까운 vector를 전부 search하는 게 아니라가까운 몇몇 quantization index (cluster) 내의 vectors들에 대해서만 search하여 Knn을 찾는 방법.TopK에 속하는 vector임에도 search하는 cluster에 없을 경우 데이터가 누락될 여지가 있음.cluster를 생성해야 하기 때문에 train 과정이 필요함 nprobe (index.nprobe)best cluster외에도 근방의 cluster 몇 개를 search할지를 설정, nprobe가 높을수록 exact 방법의 결과와 비슷해짐 voronoi cell diagram (빨간 ..

    Euclidean(L2 distance) to Cosine similarity Conversion

    Euclidean(L2 distance) to Cosine similarity Conversion

    유클리디안을 코사인으로 전환하는 방법 scikit-learn의 라이브러리엔 k-means의 경우 euclidean(L2 distance)로 clustering 하는 방식은 있지만, cosine similarity를 기준으로 하는 경우는 없는데요, Face recognition과 같이 코사인 유사도를 사용하는 embedding들을 처리하기가 불편합니다. 하지만! 이것을 전환시켜주는 방법이 있습니다. 바로 pf1) pf2)