fairseq는 페이스북에서 만든 모듈입니다.

딥러닝쪽에서 여기저기 사용하는 편인데 이게 업데이트가 안 된건지  pyinstaller랑 안 맞는건지 패키징 하면 문제가 생깁니다.

 

https://github.com/facebookresearch/fairseq/issues/5509

 

It seems there's a minor error in 'fairseq/fairseq/dataclass /configs.py Line1103 · Issue #5509 · facebookresearch/fairseq

🐛 Bug To Reproduce Steps to reproduce the behavior (always include the command you ran): run pyinstaller exe on win10 File "fairseq\dataclass\configs.py", line 1103, in EMAConfig default=False, met...

github.com

https://github.com/facebookresearch/fairseq/issues/4659

 

NameError: name "help" is not defined · Issue #4659 · facebookresearch/fairseq

🐛 Bug I get this error when opening a cx_Freezed script that used fairseq, also I have used --package=torch to get over the problem of circular imports already, this error is new. Environment fairs...

github.com

 

일명 NameError가 나는 문제가 있습니다.

이게 그냥 쓸때는 문제가 없지만 pyinstaller로 패키징을 하면 metadata안에 있는 help문구를 찾아서 그렇다고 합니다. 사실 그냥 무시하고 돌려도 문제가 없기에 간단한 Heck이 존재합니다.

 

 

그냥 Pyinstaller로 만드는 메인 스크립트중 fairseq을 로딩하는 모듈을 임포트할때 NameError를 except처리해 버리는 겁니다.

물론 pass로 무시하는 겁니다.

 

이해가 안 되신다면

 

import fairseq

 

위 코드에서 에러가 났다면 그냥

try:

    import fairseq

except NameError:

    pass

 

이렇게 해서 그냥 예외처리하라는 겁니다. 이렇게 Heck이 늘어나는걸 별로 안 좋아합니다만 어쩔수 없지요.

 

제기랄.. 그냥 fairseq의 버그입니다.

 

 

1103번 줄을 보시면 뭔가 이상하죠?

 

default=False, metadata={help: "store exponential moving average shadow model"}

이렇게 된걸

default=False, metadata={"help": "store exponential moving average shadow model"}

 

이렇게 고치니 문제가 사라집니다. 이게 뭐야...

,

최근 Nvidia드라이버의 상태가 이상한건지 아니면 커널의 상태가 이상한건지 우분투의 nvidia드라이버간 궁합이 이상한듯 합니다.

우분투에선 추천드라이버라는게 있어서 보통 이걸 씁니다만 추천드라이버가 바뀌는 경우가 있습니다.

원인은 커널업데이트인데 커널이 보안하고 직접적인 관련이 있는걸 생각하면 일종의 보안업데이트로 인한 문제라고 봐야할겁니다.

즉, 윈도에서 보안업데이트로 간간히 드라이버충돌이 나는것처럼 리눅스도 업데이트로 인해 드라이버 충돌이 나는겁니다.

그런데 무슨 이유인지 커널은 업데이트가 됐는데 드라이버는 업데이트가 안 되었다거나(dkms관련 오류) 커널은 업데이트가 안 됐는데 드라이버만 업데이트가 되는 일이 가끔 일어납니다. (이쪽은 저장소 관련 이슈)

그리고 이게 커널패닉을 일으키는듯 합니다.

반대로 드라이버 설치 스크립트가 꼬이는 바람에 문제를 일으키기도 합니다.
그러니 업데이트 리스트를 보고 커널이나 드라이버가 업데이트리스트에 있다면 한번 고민을 해보고 업데이트를 미루거나 날 좋을때 기도하면서(?)하는걸 추천드립니다.

,

rar포맷은 많은 곳에서 쓰이고 있습니다. 특히 분할압축할때 엄청 좋은 걸로 유명합니다.

rar.part0 rar.part1 ...

이런식으로 된걸 보실 수 있는데 어떻게 보면 압축프로그램중에서 잔뼈가 굵은 winrar에서 지원하는 포맷이기에 그러합니다.

 

우리나라야 막강한 반디집이 있다보니 그렇게 썩 중요하지 않지만 (매번 문제가 터지는 알집은 논외) 해외에선 Winrar가 사실상 표준이다보니 RAR포맷을 자주 사용합니다. 물론 진짜 사실상 표준인 ZIP포맷은 더 잘 지원합니다.

 

아무튼 이렇게 많이 쓰이는 포맷이다보니 리눅스에서도 잘 지원되리라는건 자명한데 의외로 데비안은 RAR을 기본지원하지 않습니다. 심지어 리눅스 민트에서도 기본 지원이 안 되는듯 합니다.

 

일단 간단하게 지원 하는 방법은

p7zip-rar 패키지를 설치하면 됩니다.

 

sudo apt install p7zip-rar

 

이렇게 하면 7zip에서 지원하는 rar라이브러리가 설치되면서 기본압축프로그램(Xarchiver Engrampa File-roller 등)에서 RAR이 지원되는 걸 볼 수 있습니다.

,