IT (236) 썸네일형 리스트형 [Docker] Systemctl 오류 이 오류 하나 잡겠다고 하다 docker가 아예 실행안돼버리는 대참사가 있었다. sudo service docker restart 안됨 → systemctl 사용 간단하게 정리하자면 Docker daemon을 돌려주기만 하면된다. 방금처럼 dockerd를 매번 실행하기는 번거러우니 아래 두 라인을 도커 설치 이후 입력하면 편할 것이다. systemctl start docker systemctl enable docker systemctl start docker docker를 daemon으로 실행하라는 명령어로 dockerd와 같지만 로그없이 실행한다고 보면 편하다 systemctl enable docker 컴퓨터가 새로 시작하거나 부팅시 자동으로 docker daemon을 실행하라는 명령어이다. Faile.. [Linux] ubuntu 버전 확인 lsb_release 명령을 사용하여 Ubuntu 버전 확인 /etc/issue 파일을 사용하여 Ubuntu 버전 확인 /etc/os-release 파일을 사용하여 Ubuntu 버전 확인 hostnamectl 명령을 사용하여 Ubuntu 버전 확인 Gnome을 사용하여 Ubuntu 버전 확인 lsb_release 명령을 사용하여 Ubuntu 버전 확인 이 방법은 모든 버전의 Ubuntu에서 작동합니다. lsb_release 명령 줄 유틸리티는 Linux 배포에 대한 Linux Standard Base (LSB) 정보를 표시합니다. lsb_release -a 명령을 사용하여 시스템에 설치된 Ubuntu에 대한 정보를 표시합니다. lsb_release -a 출력: No LSB modules are avail.. [Docker] Docker compose version: '3' services: cuda111: image: cuda111:cuda11.1 ports: - "8888:80" volumes: - /mnt/d/train_dataset:/workspace tty: true stdin_open: true pytorch: image: pytorch/pytorch ports: - "8889:80" volumes: - /mnt/d/train_dataset:/workspace tty: true stdin_open: true docker-compose.yml 파일을 만들었다. 오류 없이 실행되는 것까지 확인했다. 딥 러닝을 위한 docker-compose 설치 및 사용법 [pytorch, tensorboard 예제] Docker를 도입한지 시간이 흘렀고, 현.. [Docker] CUDA Image 가져와서 딥러닝 환경 세팅까지 cuda버전 10.1이 설치된 상황인데 더 높은 버전이 필요한 상태이다. 그럴 때 해당 방법을 쓰면 해결 될 것 같다. (아직 안해봄) Docker CUDA Image 가져와서 딥러닝 환경 세팅까지 기존 서버 : Ubuntu 18.04 CUDA 10.2 NVIDIA RTX 2080 Ti 위에 CUDA 10.0 도커를 구동해야 하는 상황이 왔다. 학습용 코드가 tensorflow-gpu==1.13.1, keras==2.2.4를 지원하는데 버전을 맞추기 위해서는 CUDA 10... huhji2newv.tistory.com 1. Docker Pull from Docker Hub docker hub에서 적당한 docker image 검색 nvidia/cuda 공식 이미지 중에서 CUDA 10.0, cudnn7,.. [Jupyter Notebook] 실행 작업 확인 및 종료 jupyter notebook list I get this: http://localhost:8889/?token=blah :: /Users/me/storyfit/data-mining/research http://localhost:8891/?token=blah2 :: /Users/me/storyfit/data-mining http://localhost:8890/?token=blah23 :: /Users/me/storyfit/data-mining/research http://localhost:8888/?token=blah54 :: /Users/me/storyfit/data-mining/research The port 8888 is already in use, trying another port. 라는 에러메.. [CUDA] NVIDIA PyTorch Container Versions pytorch 1.8버전이라면 최소 11.1 이상 버전을 깔아야 한다... PyTorch Release Notes :: NVIDIA Deep Learning Frameworks Documentation The NVIDIA container image for PyTorch, release 20.12, is available on NGC. Driver Requirements Release 20.12 is based on NVIDIA CUDA 11.1.1, which requires NVIDIA Driver release 455 or later. However, if you are running on Tesla (for example, T4 or any ot docs.nvidia.com [Linux] remove “Ignoring file in directory /etc/apt/sources.list.d/ as it has an invalid filename extension To fix your first problem run this in a terminal: sudo rm /etc/apt/sources.list.d/*.disable (An older version of the package management tool left these files when you disabled the PPAs. Removing them is pretty safe) Your second problem comes from and old Karmic repository. To find out which one run this in a terminal: cd /etc/apt grep -rw karmic * Once you know which repository it comes from it .. [Linux] gcc versions 바꾸기 에러 - gcc versions later than 8 are not supported in cmake 0. 선요약 및 원인 이 게시물(2020년 4월)을 따라 문제를 해결하였다. 해당 게시물의 내용을 그대로 가져와 번역하였다. 문제는 해당 소프트웨어를 컴파일하기 위한 gcc의 버전이 ‘너무 높다’는 것이었다. 우분투 20.04 LTS 버전에서 현재 gcc를 설치하면 기본적으로 gcc 9를 설치해버린다. 이럴 때엔 gcc 하위 버전을 설치하고 컴파일하는 동안에만 해당 gcc로 업데이트해주면 된다. 이 과정은 Ubuntu 20.04 LTS Focal Fossa 버전에서 실행되었다. 하지만 다른 버전의 리눅스에서도 충분히 따라할 가치가 있으므로 참고하면 좋다. 1. 단계 여러 개의 C/C++ 컴파일러 버전을.. [CUDA] CUDA 설치해도 nvcc --version 안되는 경우 (Command 'nvcc' not found error) 리눅스에서 설치된 CUDA version을 확인하는 명령어는 다음과 같습니다. nvcc --version 하지만, 가끔 다음과 같이 CUDA를 설치했음에도 다음과 같은 에러가 발생하기도 합니다. 이럴 때는 환경변수 부분을 살펴보면 됩니다. 사용자 별명을 관리하는 '~/.bashrc' 파일을 nano, gedit 등 편집기를 통해 키고 하단에 다음 두 줄을 입력합니다. export PATH=/usr/local/cuda-11.2/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:$LD_LIBRARY_PATH 기본 경로 환경변수인 PATH와 LD_LIBRARY_PATH가 설정되어야 합니다. 이때, 실제 CUDA 버전과 CUD.. [CUDA] nvdia driver, CUDA, CUDNN 설치 여부 및 버전 검사 1. Nvidia Driver 설치 여부 및 버전 확인 $ cat /proc/driver/nvidia/version → 정상적으로 설치되어 있는 경우 아래와 같이 출력된다. NVRM version: NVIDIA UNIX x86_64 Kernel Module 430.34 Wed Jun 26 12:19:48 CDT 2019 GCC version: gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) 이외 nvidia-smi를 이용해서 확인하는 방법도 있다. (이것을 더 추천한다.) $ nvidia-smi 2. CUDA $ nvcc --version → 정상적으로 설치되어 있는 경우 아래와 같이 출력된다. nvcc: NVIDIA (R) Cuda compiler driver .. [Docker] WSL + Docker + GPU + Pytorch + Jupyter notebook wsl에서 진행하려면 제일 중요한 것은 윈도우 11이어야 한다는 것이다. 이게 아니면 cuda가 암것도 안된다. 이것때문에 다 설치를 해도 안됐던 것이다. 무조건 빌드버전을 확인해야한다. 파워셸에서 winver쳤을 때 빌드버전이 20150 이상이어야 WSL2에 쿠다 설치가 가능하다. 20150 이상 버전이라면 사전작업을 스킵해도 된다. 아래 프로세스는 윈도우 빌드 20150 이상으로 업데이트하기 위한 작업이다. 1. 윈도우 11버전에서 빌드환경 20xxx이상 wsl설치 2. wsl2로 업그레이드 해서 docker 사용 가능하게 하기 3. pytorch docker 이미지 다운로드 4. docker-nvidia 설치해서 docker에서도 gpu사용가능하도록 하기 5. nvidia 드라이버 설치 6. cud.. [Git] Git clone --depth=1 Git 리파지토리의 이력이 많아지거나, 리파지토리 용량이 클수록 clone을 받는데, 시간도 많이 걸리고 스토리지도 많이 필요하게 됩니다. 그래서 리파지토리의 일부 이력만 받아오는 방법이 있는데, 이를 전문용어로 shallow clone 이라고 합니다. 얕은 클론이라고 해석할 수 있는데, 이걸 기억하면 옵션도 쉽게 기억할 수 있습니다. 옵션이 depth거든요. shallow clone 앞에서도 설명했드시 Git 리파지토리의 전체 이력 중 일부만 받아오는 행위를 shallow clone이라고 합니다. 그 반대, 즉 전체 이력을 받아오는 것을 deep clone (깊은 클론)이라고 합니다. 대개의 경우, 전체 이력을 받아오지만, 리파지토리가 매우 크거나, 오랜동안 쌓인 이력이 매우 많을 경우, 또는 요즘은 .. [eclipse] Java 실행 시 Argument 사용과 Option정의 1. Java Argument Java Application은 main메소드의 인자값으로 String타입의 배열형태로 받도록 되어있습니다. 아래 예제는 Java실행 시, argument를 출력해주는 예제입니다. public class ArgumentExample { public static void main(String[] args) { if(args!=null) { for(int i=0; i [Intellij] Java 컴파일시 args 세팅하기 1. Edit configuration setting Alt + Shift + F10을 눌러 컴파일하려는 프로젝프 명을 포인팅 한 후, 오른쪽 방향키를 눌러 메뉴를 확장하여 Edit라는 버튼을 클릭합니다. 2. args 입력 위창에 뜨면 빨간색 밑출을 쳐놓은 곳에 원하는 인풋값을 넣어 하단의 run버튼을 클릭하여 실행합니다. [Intellij]자바 컴파일시 args 세팅하기 커맨드라인에서 자바 클래스 파일을 실행하면 실행명령어 뒤에 args를 바로 입력 할 수 있었지만 IntelliJ를 이용해 컴파일을 하며 args를 세팅하려니 당황스러웠습니다. 하지만 언제나 방법은 있는 storyinglass.tistory.com 'undefined reference' with 'not declared' In the first case, you declare a function, but don't define it. It compiles properly, but doesn't link because there is no definition for f. Hence the linker error. 선언만 하고 정의는 하지 않았다. 컴파일은 하지만 링킹은 할 수 없다. In the second case, you attempt to call an undeclared symbol. The compiler doesn't know what f is, so it issues an error. It's a different problem from a different stage of the compilation proc.. [CUDA] Thread, Block(SM), Grid(GPU) CUDA를 게임 프로젝트에 적용하기 CUDA를 게임 프로젝트에 적용하기 유영천-모여서 각자 코딩하는 모임 https://megayuchi.com tw: @dgtman www.slideshare.net [Linux] gcc 로 C++ 컴파일 하기 일반적으로 리눅스 환경에선 C 은 gcc 로 컴파일 하고 C++ 은 g++로 컴파일 하게 되죠 그러나, 간혹 여의치 않은 상황에서 gcc 로 C++을 컴파일 할수 밖에 없는 상황에 봉착하는 경우는 -lstdc++ 온션을 붙여주면 됩니다. 가령 gcc hello.cpp -o hello -lstdc++ 그러나, 애지간하면 C++ 은 걍 g++로 컴파일 합시다. 나중에 라이브러리 링크 등에서 복잡한 문제들에 봉착할수 있거든요. gcc 로 C++ 컴파일 하기 gcc 로 C++ 컴파일 하기 일반적으로 리눅스 환경에선 C 은 gcc 로 컴파일 하고 C++ 은 g++로 컴파일 하게 되죠 그러나, 간혹 여의치 않은 상황에서 gcc 로 C++을 컴파일 할수 밖에 없는 상황에 봉착하는 bitsoul.tistory.com [Docker] 도커 파일 복사 (로컬 <-> 컨테이너) 1. 컨테이너 안에 있는 파일을 로컬로 복사 “tmp-container”라는 컨테이너 내부에 “/root/data/test.md” 라는 파일이 있다고 하자. 이 파일을 로컬(호스트)의 “~/data/” 위치로 가져오려면 다음과 같이 하면 된다. $ docker cp tmp_container:/root/data/test.md ~/data/ cp 명령어 뒤에 컨테이너 이름과 컨테이너 내부 데이터 경로를 “:” 로 구분해 적어준다. 그 뒤에는 데이터를 복사해올 로컬 경로를 적어주면 된다. 2. 로컬의 파일을 컨테이너 안으로 복사 이번엔 로컬의 “~/data/test.md” 라는 파일을 컨테이너의 “/root/data/”로 복사해보자. 그냥 명령 인자의 순서를 반대로 해주면 된다. $ docker cp ~/da.. [Docker] Docker User Guide 도커를 start -> attach로 키면 도커 서버 환경이 나온다. sh를 실행하면 jupyter가 켜진다. 로컬의 파일을 옮기려면 로컬에서 cp를 작성해야 한다. 1. 도커 이미지 받아오기 docker run -it -v [압축푼 폴더 경로 입력]:/workspace contest:latest /bin/bash 컨테이너 실행하기 도커를 실행하는 명령어는 다음과 같습니다. docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...] 다음은 자주 사용하는 옵션들입니다. 옵션설명 -d detached mode 흔히 말하는 백그라운드 모드 -p 호스트와 컨테이너의 포트를 연결 (포워딩) -v 호스트와 컨테이너의 디렉토리를 연결 (마운트) -e 컨테이너 내에서 사.. 비트연산 1반대값 0 0반대값 1 출력하려면 1^1 -> 0 0^1 ->1 Fixed Point Precision(고정 소수점) 과 Floating Point Precision(부동 소수점) 컴퓨터론 숫자표현을 어떻게 할수있을까요? 바로 두가지 방법으로 표현할 수 있답니다. 1. Fixed Point 2. Floating Point 가수부(Mantissa)는 1.xxxx 형태로 정규화를 한 뒤 가장 왼쪽에 있는 1을 제거하고 소수점 이하의 자리 값만 표현한다. 예를 들어, 13.5를 32bit 부동소수점 (float)으로 표현해보자. 13.5 → 1101.12 [진수변환] 1101.12 → 1.10112 x 23 [정규화] 부호비트는 양수이므로 0, 지수부는 3이므로 127 + 3 = 130, 2진수로 표현하면 100000102, 가수부는 1.1011에서 소수점 이하 자리만 표현하면 1011이 된다. 최종 값은 0100 0001 0101 1000 0000 0000 00002 Floating .. [Linux] 실행파일 인자, argv, argc main 함수에 argc, argv 라는 매개변수를 전달한다. argc는 argument count로 int형으로 정의한다. 인수들의 개수이다. argv는 argument vector의 줄임말이며 char형 더블포인터이다. 인수들 자체를 나태니는 문자열들의 배열이다. [리눅스환경] 1. argc, argv로 프로그램에 인수 전달 argc, argv로 프로그램에 인자 전달하기 우리는 프로그램을 만들어 실행 할 때 늘 같은 조건으로 하지 않는다. 프로그램에 중요한 인자 값을 전달해야 할 때도 있다. 예를 들어 서버/클라이언트 프 gday2code.tistory.com 먼저, 다음과 같이 실행을 했다고 생각해 봅시다. 초록색으로 칠한 것은 실행 파일 명입니다. work를 실행을 한 것입니다. 그리고 보라색으로.. [Basic] cpu, core, processor 3 Processor chip 안에는 다음과 같이 3가지 종류가 있을 수 있겠습니다. single-core processor multi-core processor multi processors 1. multi-core processor 멀티 코어 프로세서란? 전에 포스팅한 멀티 프로세싱과 헷갈릴 수 있는 용어입니다ㅎㅎ 용어 중간에 '코어'만 들어갔을뿐 그게 그거 같죠... 차이를 알아보겠습니다. 멀티 코어 프로세서는 여러 개의 작업을 보다 효율 donghoson.tistory.com 사진에서 E) multi core with shared chche 를 보면 중복되는 부분이 있다. 코어가 두개 있는 cpu이다. cpu = 2개의 코어 + chche 인 것이다. 즉, cpu state, interrupt log.. [Git] 로컬에서 원격 branch 삭제하기 Local에서 브랜치 항목을 살펴보기 위해서는 터미널에서 git branch 를 치면 Local의 branch 들을 확인 가능하고 git branch -r을 치면 Remote의 branch 들을 확인할 수 있다. 간혹 Remote 저장소 (원격 저장소)에 추가되거나 삭제된 브랜치가 나의 Local에 적용안될 때가 있다. 상기내역을 보면 Local에서 삭제된 fetch 브랜치들이 remote에는 적용되지 않음을 볼 수 있다 ***** Local에서 git branch -r 로 보이는 remote branch 는 실제 remote 저장소의 branch 가 아니다. 실제로는 remote 저장소의 branch를 바라보는 참조내역이라 보면 될 듯하다. 원격 저장소의 branch가 삭제되어도 Local에서 git .. [Git] pull request 방법 git 초보를 위한 풀리퀘스트(pull request) 방법 · 초보몽키의 개발공부로그 개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다. 코드를 통째로 복사하고 나서 원래 코드와는 상관없이 독립적으로 개발을 진행할 수 있는데, 이렇게 독립적으로 개발하는 wayhome25.github.io [Git] 특정 branch clone [Git] branch생성 후 push하기 git checkout -b 브런치이름 git add . git commit -m "어쩌구" git push origin 브런치이름 [Git] 브랜치 생성하기 & 원격 저장소에 push 하기 branch 생성하기&전환하기 git bash 창을 열고 아래와 같이 입력하기 (원하는 작업 폴더로 이동) $ git branch $ git branch ychaen ychaen 이라는 이름의 branch를 생성한다 생성한 브랜치로 이동하기 $ git chec.. ychae-leah.tistory.com [Linux] mv [참고사항] touch touch 는 파일의 날짜정보를 변경하는 명령어로 touch [파일명] 으로 비어있는 파일을 생성할 수 있습니다. [Linux] Cmake 업데이트 [Ubuntu] CMake 업데이트 하는 방법 nipa에서 지원 받은 서버에 카카오에서 딥러닝 기반으로 개발한 Khaiii 형태소 분석기를 설치하려고 하던 중 (PythonHome) ubuntu@nipa2020-0000:~/somjang-utils/khaiii/build$ cmake .. CMake Error at CMakeLi.. somjang.tistory.com [Basic] cpu, core, processor 2 1. 컴퓨터 구조와 기능 컴퓨터 구조 컴퓨터 구조는 위에처럼 크게 4가지로 나눠서 볼 수 있습니다. CPU : 중앙처리장치. 데이터를 처리하는 역할 Memory : 데이터를 저장하는 기능을 수행 I/O : 컴퓨터와 외부장치 사이에 데이터를 교환하는 기능을 수행 System Bus : 위의 모든 컴퓨터 시스템 구성요소들을 연결하여 데이터 전송을 수행 컴퓨터 기능 컴퓨터의 기능또한 크게 4가지로 나눠서 생각해볼 수 있습니다. Data Processing : 데이터 연산 Data Storage : 데이터 저장 Data Movement : 데이터 통신, 이동 Control : 제어(명령수행, 리소스 관리 등) 2. CPU 구성 Processor chip 안에는 다음과 같이 3가지 종류가 있을 수 있겠습니다. s.. 이전 1 2 3 4 5 6 ··· 8 다음