728x90
반응형

이번엔 vscode와 원격 서버를 연결해보자. 생각보다 간단하다.

 

Extensions에서 Remote Development를 설치하고

 

ctrl + shift + p를 눌러 Command Palette를 열고 Remote-SSH: Connect to Host를 실행한 후

Add New SSH Host -> ssh 계정@ip주소or도메인 -> 비밀번호를 입력하면 서버에 접속된다.

 

이렇게 접속은 됐는데 뭐만 하면 계속 비밀번호 입력하라 하고 되게 귀찮게 하는데

내 로컬 컴퓨터의 보안키 파일을 서버에 옮기고 vscode 설정을 조금만 해주면 해결된다.

 

우선 키를 발급하자. cmd에다 ssh-keygen -t rsa -b 4096 명령어를 실행하고 엔터 몇 번 누르면

아래와 같이 키(id_rsa.pub)가 발급된다. 나는 이미 발급해서 저렇게 나왔지만 원래는 이상한 이미지가 나온다!

 

scp를 사용해서 서버에 id_rsa.pub파일을 보내야 되는데 아래와 같은 방식으로 명령어를 입력해주면 된다.

scp -P [서버 포트] [전송 파일] [서버 계정]@[서버 아이피]:[파일 저장 경로]

EX) scp -P 포트 .ssh/id_rsa.pub jinho@~.~.~.~:.ssh/

 

이제 서버에서 .ssh 경로로 들어간 다음 아래 명령어를 입력해주고 

cat id_rsa.pub >> .ssh/authorized_keys


vscode로 넘어와 ctrl + shift + p -> Remote-SSH: Open SHH Configuration File 

-> .ssh 폴더의 config 파일을 열어주자.

 

그 후 아래와 같은 방식으로 config 파일을 작성해주면 끝이다.

Host, HostName: ip주소

User: 계정 이름

Port: 포트 번호

IdentifyFile: ~/.ssh/id_rsa

 

이제 vscode를 껐다 켜도 비밀번호를 물어보지 않고 바로 접속이 된다!!

728x90
반응형

'설치, 삽질, 마크다운 등등' 카테고리의 다른 글

vscode 배경 이미지 넣기  (0) 2021.10.08
마크다운 정리  (0) 2021.03.05
728x90
반응형

훈련소 갔다 오고 나서 오랜만에 글을 쓴다.

최근에는 주피터 노트북에서 벗어나 vscode를 사용해보고 있는 중이다. 서버 접속도 뚝딱이고 아주 편리한 것 같다.

 

오늘은 vscode에 배경 이미지를 추가해보자.

Extensions에서 background를 설치하고

 

ctrl + shift + p를 눌러 Command Palette를 열고 Preferences: Open Settings (JSON)를 검색해서 

settings.json파일을 연다. 그러면 아래와 같이 뭔가 잡다하게 적혀있거나 아예 비어있거나 둘 중 하나일 건데

 

{} 안에 아래 코드를 추가해주면 

    "background.enabled": true,
    "background.loop": false,
    "background.useDefault": false,
    "background.useFront": true,
    "background.style": {
        "content": "''",
        "pointer-events": "none",
        "position": "absolute",
        "z-index": "99999",
        "width": "100%",
        "height": "100%",
        "background-position": "left",
        "background-size": "cover",
        "background-repeat": "no-repeat",
        "opacity": 0.25
    },
    "background.customImages": [
        "https://media.vlpt.us/images/wjdgml3834/post/04747625-84d3-4d6e-a940-5e00b73babf7/image.jpeg"
    ]

 

이런 느낌으로 배경이 적용된다. background.style에서 스타일을 바꿀 수 있고

background.customImages에서 배경으로 쓰고 싶은 이미지를 지정해줄 수 있다.

728x90
반응형
728x90
반응형

나도 그랬었지만 처음 코딩을 해보는 사람이라면 가상환경이 왜 필요할까? 싶을 수도 있다. 

하나 똑같은 환경에서 여러 프로젝트 작업을 하다 보면 같은 라이브러리여도 어느 프로젝트에서는

다른 버전을 사용해야 되거나 라이브러리간 충돌이 일어난다는 등등 여러 문제가 있을 수도 있다.

그렇기에 진작에 프로젝트를 시작할 때 따로 가상환경을 만들어 놓고 거기에서 작업을 하는 게 편하다.

 

파이썬에서 가상환경을 만드는 방법은 되게 많다. conda, virtualenv, venv 등등이 있는데

이번엔 virtualenv와 venv로 가상환경을 구축해보겠다.

둘의 차이는 거의 없는데 venv는 python3에서만 가능한 것 같다.

 

virtualenv

아래 명령어를 통해 virtualenv를 설치해준 후

sudo apt install virtualenv

아래 명령어를 실행하면 env1이라는 이름의 가상환경이 생성된다.

virtualenv env1

env1 폴더가 생성된 것을 확인할 수 있는데, 위 명령어로 활성화, 아래 명령어로 비활성화가 가능하다.

source env1/bin/activate # 활성화
deactivate # 비활성화

 

파이썬 버전을 지정하고 싶다면 명령어 뒤에 --python=python3.7 같은 식으로 추가해주면 된다. 

가상환경 삭제는 sudo rm -rf venv 같은 방식으로 가능하다. 

 

venv

아래 명령어를 실행하면 env2이라는 이름의 가상환경이 생성된다.

python3 -m venv env2

활성화, 비활성화 방식은 virtualenv와 똑같다.

 

+ 추가

해당 환경에서 설치한 라이브러리들을 저장하고 싶다면 pip freeze를 사용하자.

pip freeze > requirements.txt

아래와 같이 requirements.txt 파일이 생성되고, 파일을 확인해보면 설치한 라이브러리들이 저장되어 있다.

 

위에서 생성한 requirements.txt를 사용하면 다른 환경에서도 그대로 라이브러리 설치가 가능하다.

pip install -r requirements.txt
728x90
반응형
728x90
반응형

아래 주소에서 exe파일을 다운 받아 VNC Viewer를 설치

https://www.realvnc.com/en/connect/download/viewer/

 

Download VNC Viewer | VNC® Connect

VNC® Connect consists of VNC® Viewer and VNC® Server Download VNC® Viewer to the device you want to control from, below. Make sure you've installed VNC® Server on the computer you want to control. Frequently asked questions How do I install VNC® View

www.realvnc.com

 

라즈베리파이 터미널에서 ifconfig 명령어를 통해 ip를 확인. wlan0 -> inet 

 

VNC Viewer를 실행해서

ip 검색 후

 

Username과 Password를 입력하면 

 

라즈베리파이에 접속이 된다!

 

728x90
반응형
728x90
반응형

라즈베리파이를 설치하고 처음으로 코드를 짜려고 하면 매우 답답할 수밖에 없다. 

코드가 메모장에 있는 텍스트들 마냥 똑같이 보이기 때문이다.

이번엔 vim을 설치한 후에 vimrc파일을 수정하여 위 문제를 해결해보도록 하자.

 

첫 번째 명령어로 vim을 설치하고 두 번째 명령어로 vimrc파일을 열어주자.

sudo apt-get install vim 
vi ~/.vimrc

그 후 아래 내용을 vimrc파일에 입력하고 저장해주면 코드들이 전보다 보기 훨씬 좋아진다! 

set number
set ai
set si
set cindent
set shiftwidth=4
set tabstop=4
set ignorecase
set hlsearch
set expandtab
set background=dark
set nocompatible
set fileencodings=utf-8,euc-kr
set bs=indent,eol,start
set history=1000
set ruler
set nobackup
set title
set showmatch
set nowrap
set wmnu

syntax on

 

 여기까지는 직접 설정을 해본 것이고 github를 찾아보니 vimrc 설정 끝판왕이 있는 것 같다.

명령어 두줄이면 바로 적용된다. 만약 git이 안 깔려있다면 sudo apt install git 명령어로 설치해주자.

git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
sh ~/.vim_runtime/install_awesome_vimrc.sh

https://github.com/amix/vimrc

 

GitHub - amix/vimrc: The ultimate Vim configuration (vimrc)

The ultimate Vim configuration (vimrc). Contribute to amix/vimrc development by creating an account on GitHub.

github.com

 

적용하면 아래와 같이 매우 편--안하게 코드를 볼 수 있다.

편--안

728x90
반응형
728x90
반응형

우선 라즈베리파이 본체, sd카드, sd카드 리더기, 모니터, 키보드, 마우스가 필요합니다.

없으면 구해오도록 합시다!

 

라즈베리파이 설치

다 있다면 아래 주소에서 Win32 Disk Imager Installer와 Raspberry Pi OS를 다운로드  

Raspberry Pi OS

https://softfamous.com/win32-disk-imager/

 

Win32 Disk Imager - Soft Famous

It is recommended to keep backups of important files. It is easier to make a full backup of a disk or external storage device. This tool helps you to achieve it. When you want to create a duplicate file from

softfamous.com

https://www.raspberrypi.org/software/operating-systems/

 

Operating system images – Raspberry Pi

The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. Join the global Raspberry Pi community.

www.raspberrypi.org

 

Win32 Disk Imager Installer를 실행하여 설치(동의하고 계속 다음을 눌러주자)

sd카드를 sd카드 리더기를 연결 후 노트북에 연결 

Win32 Disk Imager를 실행하여 연결한 sd카드에 Raspberry pi OS를 Wirte 해줍니다.

 

한몇 분? 정도 지나면 설치가 완료됩니다.

 

그 라즈베리파이에 충전기, sd카드, 마우스, 키보드, 모니터를 모두 연결해줍니다. 

그러면 딱 아래와 같은 화면이 모니터에 나오게 됩니다.

 

라즈베리파이 설정

저는 아래와 같이 설정했더니 다 잘됐습니다! 만약 안된다면 무한 구글링을 해보시기 바랍니다.

Menu -> Preferences -> Raspberry Pi Configuration을 열어봅시다.

 

System에서 Password와 Hostname을 변경해줍시다. 필수는 아님!

 

Interfaces에서 사용할 기능들은 Enable 해줍시다. Camera, SSH, VNC 같은 애들은 Enable 해놓도록 하자.

 

이제 사실상 제일 중요한 부분인 Localisation을 설정해보자. 대부분 여기서 삽질을 제일 많이 하는 것 같다.

Locale에서 Language: en(English), Country: GB (United Kingdom), Character set: UTF-8

Timezone은 자기 마음대로!

Keyboard에서 Model: Generic 105-key PC (intl.), Layout: Korean, Variant: Korean (101/104 key compatible)


WiFi Country Code에서 Country: GB Britain (UK) 

 

Configuration 설정을 다했다면 reboot를 해주고 터미널에 아래 명령어를 실행시켜 주면 끝이다!

sudo apt update
sudo apt upgrade
sudo apt install -y fonts-unfonts-core
sudo apt install ibus-hangul
728x90
반응형
728x90
반응형

깃허브 README.MD 작성할 때도 그렇고 마크다운은 쓰게 될 일이 많은 것 같다.

새로운 걸 사용하게 될 때마다 정리를 해보려고 한다. 계속 업데이트 예정!

 

헤딩테그: # 제목, ## 소제목, ### 소제목2, ... -> 샾이 많을수록 크기가 작아짐

헤딩태그

 

강조: **진하게**, _기울게_

강조

 

링크와 이미지: [@kimjinho1](https:github.com/kimjinho1)

![사진](avatars.githubusercontent.com/u/29765855?s=460&u=3d074f83f39c5527877a22403786c28180164a83&v=4)

크기를 조절하고 싶다면 아래와 같은 방식으로 해주면 된다.

<img src="YOUR URL" width="YOUR_WIDTH" height="YOUR_HEIGHT">

링크와 이미지

 

코드블록: ```pip install -r requirement.txt```,

```{.python}
print("Hello World!")
```

코드블록

 

테이블: 

|Name|Github|Email|
|:--:|:--:|:--:|
|김진호|[@kimjinho1](https://github.com/kimjinho1)|dlfhgk62@gmail.com|

테이블

728x90
반응형
728x90
반응형

아나콘다 가상 환경이 삭제돼버려서 다시 깔아야 된다...

이참에 나도 다시 설치하면서 여기다가 정리를 해보려고 한다.

우선 아나콘다가 깔려있다는 가정하에 진행하겠다.

안 깔려있다면 구글에 검색해서 깔고 오세요!!

아나콘다를 깔았다면 일단 anaconda prompt를 열고 콘다 업데이트를 해주자.

conda update -n base conda
conda update --all

다음으론 가상 환경을 만들어야 된다. 필수는 아니지만 가상 환경을 사용하지 않으면 아나콘다를 삭제했다가 다시 깔아야 되는 매우 귀찮은 상황이 벌어지기 때문에 매우 매우 권장한다... 그리고 가상 환경을 사용하는 게 프로젝트 진행할 때도 그렇고 여러모로 편리하다. 그냥 쓰자!

conda create -n env python=3.6 

activate env 
python --version

 conda create -n <환경 이름> python=<version>을 해주고 y를 누른 후 엔터를 눌러주면 설치가 진행된다.

->이름이 env인 가상 환경 생성됨.

뒤에 python=3.6은 파이썬 버전을 지정해준 것이다. 그냥 설치하면 3.8 버전일탠데 라이브러리 여러 개가 종종 잘 안 깔릴 때가 있어서 그냥 3.6을 사용하고 있다.

설치가 끝나고 activate <환경 이름>을 쳐서 가상 환경을 활성화하고 

python --version으로 파이썬 버전을 확인해보면 3.6 버전이 잘 설치된 것을 확인할 수 있을 것이다.

삭제는 conda remove --name env --all 

 

가상 환경을 만들었으니 여기다가 라이브러리를 전부다 설치해보자.

주피터 노트북: 데이터 사이언스 관련 프로젝트할 때 매우 편리함. 사실 그냥 좋음! 

nb_conda 일단 설치해두자!

conda install jupyter notebook
conda install nb_conda 

내가 사용하는 머신러닝과 관련된 라이브러리들을 모두 설명하는 것은 의미가 없는 것 같아 대표적인 것만 대충 설명하고 넘어가겠다. 그리고 라이브러리 설치하고 중간에 ipython이라 치고 들어가서 import <라이브러리 이름>을 쳐서 오류가 안 나고 잘 import 되는지 확인하면서 넘어가자. 종종 설치는 했는데 import가 안될 때가 있어서 짜증이 날 수도 있다!

나는 딥러닝 관련해서 케라스를 주로 사용하는데 케라스는 텐서플로우 안에 들어있기 때문에 텐서플로우를 설치하면 사실상 깐 거나 다름없다. 2.0.0 이상의 버전으로 했을 때 뭔가 오류가 많이 나서 그냥 2.0.0으로 설치해서 사용하고 있다. 

pytorch 라이브러리도 있지만 나는 아직 사용하지 않는다.

tensorflow, keras, pyrotch 셋다 장단점? 이 있을 거니까 잘 보고 사용하고 싶은걸 설치하자!

pip install tensorflow==2.0

딥러닝은 행렬 계산을 엄청나게 많이 하는데 파이썬 내에서 그 행렬은 다 numpy 행렬이다... 

이거 없으면 사실 아무것도 못한다. numpy를 꼭 깔아주자! 

테이블 데이터를 처리할 때 정말 편리한 pandas, 다양한 머신러닝 모델을 쉽게 사용할 수 있게 해주는 scikit-learn,

이미지 전처리 관련 갑인 OpenCV이나 이미지 관련해서 언젠가 한 번쯤은 볼 수도 있는 라이브러리인 dlib,

데이터 시각화 관련 갑인 matplotlib과 seaborn 등등이 있다.

# OpenCV 설치

pip install opencv-python

위에 걸로 안될 시

pip install opencv-contrib-python

 

 # Dlib 설치

conda install -c conda-forge dlib

설치할 때 종종 Proceed ([y]/n)?라는 말이 뜨는데 yes는 y, no는 n이니까 다 y를 누르고 엔터를 쳐주도록 하자.

나머지는 명령어가 같아서 그냥 한 번에 쳐도 된다. numpy는 텐서플로우 설치할 때 자동으로 설치돼서 안 해도 된다.

pip install numpy pandas scikit-learn matplotlib seaborn xgboost

 

나중에 사용하게 될 라이브러리들은 웬만하면 다 pip install로 설치가 된다. 종종 위에 opencv나 dlib처럼 다른 방식으로 해줘야 되는 것도 있긴 하니까 잘 찾아보고 설치해주자!

설치가 완료됐다면 주피터 노트북에 들어가서 라이브러리가 잘 import 되는지, 코드가 잘 돌아가는지 확인해보도록 하자.

프롬포트에 jupyter notebook이라고 치면 주피터 노트북에 들어가진다.

주피터 노트북

위와 같이 창이 뜰 거고 저기서 new -> python [conda env:<환경 이름>]을 누르면 아래와 같이 ipynb파일이 생성된다.

이제 잘 import 되나 코드가 잘 돌아가나 확인해보자. 

import tensorflow
import tensorflow.keras
import cv2, dlib
import numpy
import pandas
import matplotlib.pyplot as plt
import seaborn

print(tensorflow.__version__)

위 코드를 실행시켰을 때 오류가 나지 않고, 2.0.0이 출력된다면 잘 설치가 된 것이다!

사실 이 정도 설치했으면 웬만한(간단한) 인공지능 프로젝트는 전부 진행할 수 있을 것이다. 더 나아간다면 여기에 없는 라이브러리를 사용해야 하는 일이 있을 텐데,  구글에 검색해서 잘 찾아가지고 설치하도록 하자!!

728x90
반응형

'설치, 삽질, 마크다운 등등 > 개발 환경' 카테고리의 다른 글

tensorflow GPU 사용하기  (0) 2020.02.20
728x90
반응형

tensorflow-gpu, keras, Cuda가 최신 버전으로 잘 설치되어있다면 이 글을 통해 성공적으로 GPU를 사용할 수 있을 것이다.

import tensorflow
import keras
from keras.backend.tensorflow_backend import set_session

# 사용할 수 있는 GPU를 gpus에 저장
gpus = tensorflow.config.experimental.list_physical_devices('GPU')

# 나는 2번 GPU만 사용하도록 설정했다. 
# EX) 0번 GPU가 사용하고 싶다면 gpus[2]를 gpus[0]으로 바꿔주면 된다.
tensorflow.config.experimental.set_visible_devices(gpus[2], 'GPU')

 

위의 코드를 통해 성공적으로 GPU를 사용할 수 있는지 확인해보자.

코드를 실행한 후에 nvidia-smi 명령어를 통해 GPU가 어떻게 사용되고 있는지 확인해 볼 수 있다.

nvidia-smi

1, 3번 GPU는 다른 사용자가 사용하는 것이고, 2번 GPU를 성공적으로 사용하고 있는 것을 확인할 수 있다.

그런데 지금 메모리를 쓸데없이 엄청나게 많이 사용하고 있는데(11893MiB/12196iB) 그 이유는 tensor flow에서 기본적으로 사용 가능한 모든 GPU 메모리를 사용하기 때문이다.

필요한 만큼만 메모리를 사용하도록 코드를 추가해주자.

if gpus:
  try:
    tensorflow.config.experimental.set_memory_growth(gpus[2], True)
  except RuntimeError as e:
    print(e)

 나는 2번 GPU만 사용하기 때문에 2번 GPU만 필요한 만큼만 메모리를 사용하도록 코드를 추가해줬다. 추가해주고 다시 코드를 실행하면

nvidia-smi

메모리 사용량이 11893MiB에서 901MiB로 줄은 것을 확인할 수 있다.

 

728x90
반응형

+ Recent posts