반응형

 

아래의 코드를 명령창에 실행하면 된다.

 

>> sudo bash

>> chattr -i /etc/sudoers

>> chmod u+w /etc/sudoers

 

그 후 수정하면 된다.

ex)

>> vi /etc/sudoers

반응형

'IT' 카테고리의 다른 글

MacBook 파이썬 설치하기  (0) 2020.04.21
Python2 vs Python3  (0) 2020.04.21
이맥스 자동완성 기능 설치  (0) 2020.04.20
Expo.io를 이용한 React native 앱 만들기  (0) 2020.04.14
MacBook에 VM 설치  (0) 2020.04.14
반응형

.el 파일은 

make 명령어로 실행할 수 있다.

 

emacs --deamon ==> 이맥스 데몬 서버 띄우기

 

emacs -q => GUI 창 열기

emacs -t => 콘솔창에서 편집

 

M-x : emacs -q 로 창을 하나 여고, esc+x 를 같이 누르면  된다.

 

 

emacsclient -e "(kill-emacs)" : 정상적으로 이맥스 서버 데몬 종료 명령어

반응형

'IT' 카테고리의 다른 글

Python2 vs Python3  (0) 2020.04.21
os, readonly 파일 수정방법(feat, sudoers 수정)  (0) 2020.04.20
Expo.io를 이용한 React native 앱 만들기  (0) 2020.04.14
MacBook에 VM 설치  (0) 2020.04.14
이맥스 사용법  (0) 2020.04.09
반응형

Expo.io 란?

 

공식홈페이지에서는 아래와 같이 나와있네요

 

Expo is a framework and a platform for universal React applications. It is a set of tools and services built around React Native and native platforms that help you develop, build, deploy, and quickly iterate on iOS, Android, and web apps from the same JavaScript/TypeScript codebase.

 

Expo

Expo is an open-source platform for making universal native apps for Android, iOS, and the web with JavaScript and React.

expo.io

다음과 같이 설명이 되어있는데, 한글로 풀자면, 

 

JavaScript/TypeScript 코드베이스로 하나만 짜놓으면, iOS, Android, Wep App 모두 만들 수 있는 그런 환경을 제공해주는 플랫폼입니다.

 

웹페이지로 서비스를 하고 있어, 접근성이 좋습니다.

 

 

전체적인 사용법은 크게 2파트로 나뉩니다.

 

1. 웹페이지에서 코드를 짠다.(개발, 빌드, 배포까지 해줍니다.)

2. 모바일에서 빌드된 프로그램을 사용해본다.

 

 

 

 

1번째, 웹페이지에 들어가셨으면, 회원가입을 해주시고,

 

우측 상단에 Snack 버튼을 누르면 나오는 창

 

Snack 을 누른 후에 우층 하단에 "Create a new Snack" 버튼을 눌러서 코드를 개발해주시면 됩니다.

 

코드 개발하면서 중간중간에 확인해보고 싶으실 때는,

 

물론 옆에 있는 애뮬레이터에서 바로바로 확인을 할 수 있습니다.

우측 상단에 Run 버튼을 눌러주시고,

 

QR 코드를 눌러주시고,

모바일 expo 어플을 받으신 후에 해당 QR 코드를 찍어주시면 됩니다.

 

여기서 2번째 모바일로 프로그램을 사용하기 위해서는 

 

'Expo' 확인 - https://play.google.com/store/apps/details?id=host.exp.exponent

 

Expo - Google Play 앱

Start building rich experiences with just your Android device and your computer. Expo is a developer tool for creating experiences with interactive gestures and graphics, using JavaScript and React Native. To learn more visit https://expo.io. Some programm

play.google.com

모바일에서 PlayStore 들어가셔서 다운로드 받으셔야 합니다.

 

 

 

모바일에서 저장 받은 후에 웹페이지에서 QR 코드를 입력받아서 사용하시면 됩니다.

반응형

'IT' 카테고리의 다른 글

os, readonly 파일 수정방법(feat, sudoers 수정)  (0) 2020.04.20
이맥스 자동완성 기능 설치  (0) 2020.04.20
MacBook에 VM 설치  (0) 2020.04.14
이맥스 사용법  (0) 2020.04.09
angular 4200 포트 강제 종료  (0) 2020.04.09
반응형

아래 따라하시면 됩니다.

 

 

1. Virtualbox 링크에 들어간다.

https://www.virtualbox.org/

 

Oracle VM VirtualBox

Welcome to VirtualBox.org! News Flash New February 21st, 2020VirtualBox 5.2.38 released! Oracle today released a 5.2 maintenance release which improves stability and fixes regressions. See the Changelog for details. New February 21st, 2020VirtualBox 6.0.18

www.virtualbox.org

2. 파란색 Download VirtualBox 6.1 클릭한다.

3. VirtualBox 6.1.4 버전을 구동할 hosts 운영체제에 맞게 설치 파일을 클릭한다.

 

 

 

4. 설치가 진행중인 것을 확인한다.

 

5. 설치 완료 시 파일을 클릭하여 설치를 진행한다.

 

 

6. VirtualBox.pkg 파일을 더블클릭한다.

6-1 Application 폴더 아이콘을 더블 클릭하여 설치된 VM.pkg를 더블클릭한다.

 

7. "계속" 버튼 클릭

 

 

8. "계속" 버튼 클릭

 

9. "설치" 버튼 클릭

 

 

10. 자신의 mac 계정 비밀번호 입력하여 설치 진행

 

11. 설치 진행중..

 

 

12. 시스템 확장 프로그램 차단 알림 발생 >> "보안 환결설정 열기" 클릭

 

 

13. 창이 뜨면 하단의 자물쇠 표시 눌러서 잠금 해제 >> 계정 비밀번호 입력

13.-1 '일부 시스템 소프트웨어가 차단되어 로드할 수 없습니다' 옆에 "허용...." 클릭

 

 

14.  Oracle America, Inc, 체크하고 "확인" 클릭

 

 

15. 다시 응용프로그램 >> VirtualBox.pkg 더블클릭하여 아까와 동일하게 설치 진행

15-1 설치 완료!!

 

 

16. 응용프로그램에 설치된 VirtualBox 확인.

 

 

 

 

 

 

 

반응형

'IT' 카테고리의 다른 글

이맥스 자동완성 기능 설치  (0) 2020.04.20
Expo.io를 이용한 React native 앱 만들기  (0) 2020.04.14
이맥스 사용법  (0) 2020.04.09
angular 4200 포트 강제 종료  (0) 2020.04.09
pytorch로 MNIST 분류하기  (0) 2020.04.06
반응형

mac os 에서 이맥스 사용방법 모음

 

 

1. 상하좌우 -> 기본 화살표 or control + p(상) / n(하) / b(좌) / f(우)

 

2. 커서가 있는 줄의 맨 앞,끝 -> control + a(맨 앞) / e(맨 끝) 

반응형
반응형

기존 4200에 포트가 제대로 닫히지 않았을때,

MAX OS 환경에서는 

 

sudo lsof -t -i tcp:4200 | xargs kill -9

 

위의 코드를 입력하면 4200 포트를 강제로 닫을 수 있음.

반응형

'IT' 카테고리의 다른 글

Expo.io를 이용한 React native 앱 만들기  (0) 2020.04.14
MacBook에 VM 설치  (0) 2020.04.14
이맥스 사용법  (0) 2020.04.09
pytorch로 MNIST 분류하기  (0) 2020.04.06
왕초보 Python - 연습 환경 구축(주피터 노트북)  (0) 2020.04.05
반응형

데이터 transform 정의

  • 데이터를 불러오기 전에 정규화에 대한 기준을 설정해준다.
    평균: 0.5, 표준편차: 1.0
import torchvision.transforms as transforms

# Normalize data with mean=0.5, std=1.0
mnist_transform = transforms.Compose([
    transforms.ToTensor(), 
    transforms.Normalize((0.5,), (1.0,))
])

 

 

데이터 불러오기

  • torchvision에 내장되어 있는 MNIST 데이터 불러오기
from torchvision.datasets import MNIST

# download path 정의
download_root = './MNIST_DATASET'

train_dataset = MNIST(download_root, transform=mnist_transform, train=True, download=True)
valid_dataset = MNIST(download_root, transform=mnist_transform, train=False, download=True)
test_dataset = MNIST(download_root, transform=mnist_transform, train=False, download=True)

데이터 로딩

  • DataLoader 활용
from torch.utils.data import DataLoader

# option 값 정의
batch_size = 1

train_loader = DataLoader(dataset=train_dataset, 
                         batch_size=batch_size,
                         shuffle=True)

valid_loader = DataLoader(dataset=test_dataset, 
                         batch_size=batch_size,
                         shuffle=True)

test_loader = DataLoader(dataset=test_dataset, 
                         batch_size=batch_size,
                         shuffle=True)

classes 정의

classes = ('0', '1', '2', '3',
           '4', '5', '6', '7', '8', '9')

이미지 확인해보기

import matplotlib.pyplot as plt
import numpy as np

# 이미지를 보여주기 위한 함수

def imshow(img):
    img = img / 2 + 0.5     # unnormalize
    npimg = img.numpy()
    plt.imshow(np.transpose(npimg, (1, 2, 0)))
    plt.show()

# 학습용 이미지를 무작위로 가져오기
dataiter = iter(train_loader)
images, labels = dataiter.next()

print(len(images), len(labels))

# 이미지 보여주기
imshow(torchvision.utils.make_grid(images))
# 정답(label) 출력
print(' '.join('%5s' % classes[labels[j]] for j in range(1)))

합성곱 신경망 정의하기

import torch.nn as nn
import torch.nn.functional as F


class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv2d(1, 3, 2)
        self.pool = nn.MaxPool2d(2, 2)
        self.conv2 = nn.Conv2d(3, 3, 3)
        self.fc1 = nn.Linear(1 * 3 * 5 * 5, 30)
        self.fc2 = nn.Linear(30, 15)
        self.fc3 = nn.Linear(15, 10)

    def forward(self, x):
        x = self.pool(F.relu(self.conv1(x)))
        x = self.pool(F.relu(self.conv2(x)))
        x = x.view(-1, 1 * 3 * 5 * 5)
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        return x


net = Net()

손실함수와 Optimizer 정의하기

  • 교차 엔트로피 손실(Cross-Entropy loss)과 모멘텀(momentum) 값을 갖는 SGD를 사용합니다.
    import torch.optim as optim
    

criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)


# 신경망 학습하기

-   이제 재미있는 부분이 시작됩니다. 단순히 데이터를 반복해서 신경망에 입력으로 제공하고, 최적화(Optimize)만 하면 됩니다.  

a = 0
for epoch in range(1): # 데이터셋을 수차례 반복합니다.

running_loss = 0.0
for i, data in enumerate(train_loader, 0):
    # [inputs, labels]의 목록인 data로부터 입력을 받은 후;
    inputs, labels = data

    # 변화도(Gradient) 매개변수를 0으로 만들고
    optimizer.zero_grad()

    # 순전파 + 역전파 + 최적화를 한 후
    outputs = net(inputs)
    loss = criterion(outputs, labels)
    loss.backward()
    optimizer.step()

    # 통계를 출력합니다.
    running_loss += loss.item()
    if i % 1000 == 999:    # print every 2000 mini-batches
        print('[%d, %5d] loss: %.3f' %
              (epoch + 1, i + 1, running_loss / 1000))
        running_loss = 0.0
    a = a + 1

    if a == 30000:
        break

print('Finished Training')


# 학습된 모델 저장하기

-   학습한 모델을 저장해보겠습니다.  

PATH = './mnist_net.pth'
torch.save(net.state_dict(), PATH)


# 시험용 데이터로 신경망 검사하기

dataiter = iter(test_loader)
images, labels = dataiter.next()

이미지를 출력합니다.

imshow(torchvision.utils.make_grid(images))
print('GroundTruth: ', ' '.join('%5s' % classes[labels[j]] for j in range(1)))

```

이렇게 하게 되면 Pytorch로 MNIST를 분석할 수 있습니다.

반응형

'IT' 카테고리의 다른 글

Expo.io를 이용한 React native 앱 만들기  (0) 2020.04.14
MacBook에 VM 설치  (0) 2020.04.14
이맥스 사용법  (0) 2020.04.09
angular 4200 포트 강제 종료  (0) 2020.04.09
왕초보 Python - 연습 환경 구축(주피터 노트북)  (0) 2020.04.05
반응형

Python 연습하는 환경으로

 

1. Jupyter notebook을 추천드립니다.

 

Jupyter notebook이란 원래, 데이터 분석하시는 분들이 

한줄 한줄씩 데이터 확인해보고, 분석해나가기 위한 용도로 

 

인터프리터 환경(= 컴파일러 환경의 반대)을 제공합니다.

 

인터프리터 환경: 코드 한줄 한줄씩 실행해가며, 그 결과를 확인하는 것

 

컴파일 환경: 전체 코드를 다 만들어 놓고, 실행하는 환경

 

 

* Jupyter notebook 으로 한줄한줄씩 보시는게 입문자한테는 편하실 거예요.

 

 

# Window 사용자

구글 검색창에 "아나콘다" 라고 치시면 됩니다.

 

그럼 맨 위에 Anaconda Python/R 뭐시기 눌러서

 

 

Python 3.7 version 누르시고, 설치하시면 됩니다.

 

 

 

그리고 설치할때, 중간에 체크박스 잘 확인하세요

 

 

이것 이외에는 그냥 Next 누르셔도 무방합니다. 그리고 마지막에 Finish 누르시면 됩니다.

 

설치 완료 되면, 그 후에 키보드에 Window 버튼 누르시고, 검색창에 Anaconda Navigator 이거 실행시키시면

 

Jupyter Notebook 이 이미 깔려져 있어서, 그거 누르시면 완료!

 

 

 

2. Mac 환경에서는 하나하나 Python, pip 를 하나하나 설치해줘야 한다.

https://datacodingschool.tistory.com/27

 

MacBook 파이썬 설치하기

1. 맥북에는 이미 파이썬이 설치되어 있습니다. command + space 키를 눌러 검색창을 활성화시킨 뒤, terminal이나 iterm을 켜서 >> python -V 명령어를 실행시킵니다. 아마 파이썬 2점대 버전이 설치되어 있지 않..

datacodingschool.tistory.com

위의 링크도 참고하시면 좋습니다~~~~

 

 

Homebrew 라는 것을 구글 창에 입력해서, 설치해준다.(아래 링크를 들어가셔도 됩니다.)

https://brew.sh/index_ko

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

 

보시면 가운데쯤에

>> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

명령어를 터미널에다가 입력하셔야 합니다.

 

 

그리고 Command + space 를 눌러 Terminal 을 실행시키고,

terminal에서

 

>> brew -v 

 

이라고 쳐서, Homebrew가 정상적으로 설치되어있는지 확인한다.

그리고 

>> sudo easy_install pip

 

명령어를 통해 pip를 설치한다.

 

그리고

 

>> pip install jupyter

라는 명령어를 통해 jupyter notebook을 설치할 수 있다.

 

 

설치가 완료되면,

 

>> jupyter notebook

 

명령어를 통해 jupyter notebook을 띄울 수 있다.

 

 

Mac에는 기본적으로 Python2.x 가 내장되어 있어서, Python 3.x로 사용하고 싶다면,

 

https://www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

 

상단의 홈페이지에 들어가서 3점대 버전을 설치해주어야 한다.

 

 

반응형

'IT' 카테고리의 다른 글

Expo.io를 이용한 React native 앱 만들기  (0) 2020.04.14
MacBook에 VM 설치  (0) 2020.04.14
이맥스 사용법  (0) 2020.04.09
angular 4200 포트 강제 종료  (0) 2020.04.09
pytorch로 MNIST 분류하기  (0) 2020.04.06

+ Recent posts