목록분류 전체보기 (174)
테크매니아
실제 메모리물리 메모리 칩을 의미합니다. 운영체제만 물리 메모리를 직접 관리합니다.가상 메모리특정 프로세스에서 메모리의 논리적 구성으로 실제 메모리보다 크기가 큽니다. 2GB RAM만 있어도 프로그램은 4GB 주소 공간을 갖습니다. 가상 메모리 일부는 RAM에 있지만 다른 부분은 디스크의 페이징 파일에 저장됩니다. 가상 메모리는 연속적인 블록 처럼 보일 수 있지만 실제 메모리에서는 연속적이지 않을 수 있습니다. 프로세스에서 모든 메모리 주소는 가상 메모리 주소 입니다.페이지메모리 구성 단위로 메모리 블록이 페이지에 할당되며 KB 단위 입니다.페이징가상 메모리 영역간에 페이지를 전송하는 프로세스로 페이지-페이지, 페이지-다른 프로세스(소프트 페이징), 페이지-디스크(하드 페이징)로 이동할 수 있습니다. 소..
개요Raspberry pi 4에서 Vulkan 사용을 위해 설치하는 방법이다.OS 버전은 Raspbian을 기준으로 작성 됐다.버전 확인 Raspberry pi는 보드 버전이 굉장히 많다. 보드마다 하드웨어 사양이 다르고 설치 방법도 달라질 수 있다.이 문서에서는 pi4를 기준으로 작성하기 때문에 버전을 확인 한다.$ cat /proc/device-tree/modelRaspberry Pi 4 Model B Rev 1.2일반적인 vulkan-drivers 설치 방법 Raspbian은 데비안 기반으로 apt 패키지 관리자를 사용할 수 있다.일반적인 Ubuntu OS라면 아래 명령으로 설치할 수 있다.$ sudo apt install mesa-vulkan-drivers아래 명령으로 vulkan 정보를 확인 할..
Linux 환경에서 개발을 하면 GUI 만큼이나 CLI에서 개발하는 일이 많다. 작업을 하다 보면 시스템 모니터링을 하고 싶은데, 터미널에서는 예쁜 시스템 모니터링을 할 수 없다. gtop을 쓰면 터미널 환경에서도 이렇게 예쁘게 시스템 모니터링을 할 수 있다. npm으로 설치 할 수 있다.
Squeeze-and-Excitation 쥐어짜서 활성하는 네트워크 라는 뜻이다.)F_sq) feature map의 각 채널을 GAP(global average pooling)으로 1차원 벡터로 Squeeze하고F_ex) feature map의 중요한 정도(?)를 알아내서 원본 feature map에 곱하는 개념feature의 채널별로 중요도에 따라 dependency를 알아내서 모델 성능을 향상 시킴SE 블럭을 쌓아서 만든 모델, 여러 모델에 적용할 수 있는 개념임.Squeeze: 짜낸다. 농축한다. Global information embeddingExcitation: adaptive recalibrationF_ex는 FC -> ReLU -> FC -> Sigmoid...............^^^^..
결과.git이 있는 디렉토리에서 아래 커멘드를 치면 git branch가 나온다.$ echo `__git_ps1`(main)shell script __git_ps1()를 실행 시킨건데, 이건 /usr/lib/git-core/git-sh-prompt에 구현돼 있다./etc/bash_completion.d/git-prompt에서 참조된다.PS1=' ... `__git_ps1` \$ '참고자료https://dsparch.sciomagelab.com/2022/02/16/git-%eb%b8%8c%eb%9e%9c%ec%b9%98-%eb%aa%85-bash%ec%97%90-%ed%91%9c%ec%8b%9c%ed%95%98%ea%b8%b0/
개요이전 ncnn 포스팅에 이어서 모델 배포에 대한 실험을 했습니다. PyTorch로는 모델 연구를 하고 TFLite나 onnx로 모델을 배포합니다. 그걸 On-Device에서 더 빠르게 하기 위한 프레임워크가 ncnn인데요, 이것들의 성능 차이가 얼마나 나는지에 대한 실험입니다.실험 모델 : ResNet152실험에 사용하는 모델은 ResNet입니다. 주요 모델의 백본으로 많이 사용되는 모델이지요. MNIST cnn으로 간단하게 테스트 하려고 했는데 일반 cnn 모델은 너무 빨라서 성능 비교가 어려워서 ResNet을 사용했습니다.제가 개인적으로 좋아하는 ResNet18모델도 역시 빨라서 가장 무거운 resnet152을 테스트에 사용했습니다.실험에만 집중하기 위해서 모델을 만들지 않고 Torch Hub에 ..
1. amend : commit을 수정commit을 수정 할 수 있다.dkdk@DESKTOP-HLOMORS:~/git/GitSampleProject (main) $ lsREADME.md test.pydkdk@DESKTOP-HLOMORS:~/git/GitSampleProject (main) $ git logcommit 992b7c9209ddb451e84d9212c01169dff1e48aaa (HEAD -> main)Author: dankernel Date: Fri Mar 4 00:58:17 2022 +0900 add test.pycommit 38e96219afacb708d817e111c85b799e5aee0e42Author: dankernel Date: Fri Mar 4 00:52:52 20..
개요GitHub에 이미지나 비디오 같은 대용량 미디어 파일이나 딥러닝 가중치 파일같이 큰 용량의 파일을 업로드 해야 할 일이 있다.대용량 파일을 git add 해서 그냥 업로드 하면 아래와 같은 메세지를 만나서 LFS 어쩌구를 하게 되는데, 이 방법이 쉬운것도 아니고 자주 바뀌는 파일이라면 매번 git이 추적하다 보니 .git 용량이 어마어마 해 진다.remote: error: Trace: ***remote: error: See http://git.io/iEPt8g for more information.remote: error: File *** is 200 MB; this exceeds GitHub’s file size limit of 100.00 MB최근 딥러닝 모델 오픈소스를 보면 pre traine..
개요이전 글에 이어서 Quantization된 모델의 성능을 비교 하고자 한다.이번에는 PyTorch의 Quantization기능을 중점으로 알아보고자 한다.이 글을 쓰는 2022-03-07 기준 PyTorch의 stable release 버전인 1.10의 QUANTIZATION 문서를 참고했다.Quantization 종류Static QuantizationPost Training Quantization 또는 PTQ 라고 함학습된 모델을 양자화가능하면 이전 레이어와 합침 (퓨즈, 예를 들면 Conv + Relu)최적의 양자화 매개변수를 결정하려면 데이터 세트로 calibration해야 함PyTorch의 경우 현재 CPU에서만 지원함Dynamic QuantizationWeights는 미리 양자화, Activ..
개요GAN얼굴 만들어 주는 GAN 모델GAN(Generative Adversarial Network, 생성적 적대 신경망)FakeFaceGitHub RepoStyle-Based GAN in PyTorch128px 해상도. stylegan-256px-celeba-550000.model 파일 686MBstyle-based-gan-pytorch을 기반으로 연구됨이런 식으로 Generator의 결과로 랜덤 생성된 얼굴이 나옴모델 분석torch.save( { 'generator': generator.module.state_dict(), 'discriminator': discriminator.module.state_dict(), 'g_optimizer': g_optimiz..