약 2기가정도가 운영체제이고 남은 공간은 할당되지 않은 상태인데 그대로 라즈베리파이에 넣으면된다.

할당되지 않은 공간은 처음 부팅이 되면서 할당된다

첫 login은 ubuntu/ubuntu로 하면된다.

바로 비밀번호를 변경해준다.

 

 

우선 인터넷 연결을 위해 ip를 잡아준다.

1) 최상위 경로로 이동(cd .. 두번)

2) sudo nano etc/netplan/50-cloud-init.yaml

network:
  ethernets:
    enp0s3:
      addresses: [192.168.0.136/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4] #네임서버 설정이 안되면 apt upgrade가 안됨
  version: 2

3) sudo netplan apply : 설정 적용

[sklearn] cython 코드 수정하기

 

sklearn 패키지의 일부 알고리즘은 속도를 위해 c언어 기반의 python으로 작성되어있다.

일반적으로 이 수준의 알고리즘을 변경할 일이 거의 없어서 그런지 site-package에 있는 코드는 이미 컴파일이 된 상태라서 수정이 불가능했다. 환경은 ubuntu이고 python은 3.8에서 테스트하였다.

 

수정을 하기 위해서는

1. sklearn 의 깃 저장소에서 컴파일되지 않은 코드 _cd_fast.pyx 파일을 다운받는다.

2. 컴파일된 파일과 같은 경로에 추가한다.

3. _cd_fast.pyx 를 입맛대로 바꿔서 다시 컴파일한다.

 

3. 의 과정을 자세히 설명하자면,

우선, pyx 파일을 컴파일하기 위해 cython이 설치되어 있어야한다.

그리고 setup.py 파일을 만들어 pyx 파일을 컴파일하는 코드를 추가해야한다.

import numpy
from setuptools import setup
from Cython.Build import cythonize

setup(
    ext_modules=cythonize("_cd_fast.pyx"),
    include_dirs=[numpy.get_include()]
)

이 코드를 실행시키는 코드는 아래와 같으며, cython 문서를 참조하면 된다.

python setup.py build_ext --inplace

 

코드 수정 과정에서 발생한 에러와 해결방법은 아래와 같다.

 

not allowed without gil error

cython에서는 gil (global interpreter lock) 이라는 cpu processing 방식이 존재하는데 코드 중 with nogil 이 있는곳에 코드를 임의로 수정하는 경우 아래와 같은 에러가 발생할 수 있다. 이 경우 with nogil의 코드블럭을 주석처리하면 에러가 사라진다. 

 

gcc failed with exit status 1

컴파일 과정에서 꽤 자주 발생할 것 같은 에러이다. gcc가 설치 되어있다는 가정하에 아래와 같은 에러가 뜬다면 코드를 추가하여 해결할 수 있다.

from setuptools import setup
from Cython.Build import cythonize

setup(
    ext_modules = cythonize("_cd_fast.pyx")
)

import numpy
from setuptools import setup
from Cython.Build import cythonize

setup(
    ext_modules=cythonize("_cd_fast.pyx"),
    include_dirs=[numpy.get_include()]
)

include_dirs=[numpy.get_include()]를 추가하면 에러를 해결할 수 있다.

 

와사비 종류
혼와사비(일본 토착 와사비)

혼와사비 또는 일본 토종 와사비는 심는 방법에 따라 더욱 분류할 수 있다:하천에 심으면 사와사비, 밭에 심으면 하타케와사비라고 한다.


사와 와사비

일본 고유의 야생식물인 와사비는 브라시카과 또는 겨자과에 속하는 상록수 초본 다년생이다. 사와사비는 깊은 산지의 계곡과 고랑을 흐르는 차고 맑은 물에서 야생으로 자라며 비슷한 조건을 가진 곳에서 재배한다. 최적의 재배 장소는 여름철 16℃, 겨울에는 10℃의 온도를 유지하는 풍부한 샘물이 있는 곳으로 낙엽수 숲으로 둘러싸여 있고, 여름에는 나무 덮개로 그늘을 드리우고, 나무 사이를 통과하는 따뜻한 햇살을 받을 수 있을 것이다. 시즈오카 현 이즈 구에는 앞에서 언급한 혼와사비 재배에 최적의 조건을 제공하는 계곡과 협곡이 있다. 따라서 일본 최대의 혼와사비 생산지역은 이즈(李州)에 있다.

하타케와사비

단순히 흙에 씨앗을 뿌려서 자라는 와사비는 그래서 하타케와사비 "하타케"는 "밭"을 의미한다. 주로 줄기 수확을 목적으로 재배되며, 도쿄는 물론 시즈오카, 나가노, 시마네, 야마구치 현 등지의 강제 재배(온실을 사용)에 의해 재배된다. 또한 대만, 인도네시아, 캐나다와 같은 나라에서도 해외에서 재배되고 있다. 이 중 대다수는 와사비스케(채취한 와사비)와 와사비 페이스트 등 가공제품에 쓰인다.

세요와사비

세요와사비는 북유럽에서 재배되는 다년생 식물이다. 일본에서는 와사비다이콘(다이콘 = 일본백무)이라고도 한다. 영어로는 고추냉이, 프랑스어로는 라이포트라고 한다. 혼와사비와 비슷한 매운 맛을 내기 때문에 향신료로 많이 쓰인다. 뿌리부분도 얇게 썰어 고기요리의 고명으로 쓰거나 생선요리를 드레싱하기 위한 소스로 갈아서 사용한다. 중세 이후 유럽에서도 약용으로, 방부제로, 또는 식욕을 돋우기 위해 사용되어 왔다. 오늘날에는 말려서 가루와사비의 주재료로 쓰인다.

+ Recent posts