안경잡이개발자

728x90
반응형

  Htop은 리눅스에서 프로세스를 모니터링(monitoring)할 때 사용하는 유틸리티입니다. 쉽게 말하면 윈도우(Windows) OS에서의 작업관리자와 유사하다고 말할 수 있습니다. 설치 방법은 간단합니다. 다음의 명령어를 이용하면 됩니다.

 

 apt-get install htop

 

 

  이후에 바로 htop 명령어를 입력하여 모니터링 화면을 확인할 수 있습니다.

 

 

  이때 특정 프로세스를 종료하고 싶다면 스페이스 바(Space Bar)를 눌러 원하는 프로세스들을 선택한 뒤에 F9을 눌러 종료하면 됩니다. 또한 F4를 누르면 문자열을 입력하여 검색어 필터링(filtering)을 수행할 수 있습니다.

728x90
반응형

728x90
반응형

  리눅스 기반의 컴퓨터를 사용할 때, 가끔 로그(log) 때문에 너무 많은 용량이 소비되는 경우가 있다. 커널 개발을 할 때 커널 로그를 무분별하게 찍도록 하거나 웹 서버를 운영할 때 주기적으로 커스텀 로그 정보를 남기도록 하는 경우가 대표적인 사례다.

 

 

  실제로 df 명령어를 이용해 용량을 확인해 보면 뜬금없이 어느 순간에 /dev/root가 가득 차버리곤 한다. 이럴 때는 du 명령어를 이용해 도대체 어떤 폴더에서 이렇게 많은 용량을 차지하는 것인지 알아낼 필요가 있다. 

 

sudo du / -h --max-depth=1

 

  확인 결과 필자는 다음과 같이 /var 폴더에서 55G를 사용하고 있다는 것을 알 수 있었다. /var 폴더에는 로그(log) 정보뿐만 아니라 캐시 관련 데이터, 프로세스 관련 데이터도 포함한다.

 

 

  결과적으로 다음과 같이 /var/log에 존재하는 몇몇 로그가 비정상적으로 큰 용량을 가지는 것을 알 수 있었다.

 

 

  필자는 개인적으로 개발 목적으로 커널 로그를 자주 찍도록 하였는데, 그것이 원인인 것 같다. 이럴 때는 불필요한 로그(log) 파일을 제거하면 해결된다. 필자의 경우에는 커널 로그 전체를 지우도록 했다.

 

sudo rm kern.log
sudo rm messages
sudo rm syslog

 

 

  이어서 재부팅을 진행하면 다음과 같이 용량이 정상적으로 확보된다.

 

728x90
반응형

728x90
반응형

※ 이미지를 보관(비공개) 설정하기 ※

 

  인스타그램(Instagram)에 올린 게시물을 비공개 설정하는 방법은 간단합니다. 바로 [보관] 설정을 하면 됩니다. 다음과 같이 자신이 올렸던 사진에 대하여 설정 버튼을 눌러 확인합니다.

 

 

  이후에 [보관] 버튼을 누르면 됩니다.

 

 

 

  그러면 다른 사용자에게는 이미지가 보이지 않게 됩니다.

 

※ 보관(비공개) 처리된 이미지를 다시 공개 설정하기 ※

 

  비공개 처리했던 이미지를 다시 보이도록 하기 위해 보관된 이미지를 확인합시다.

 

 

  이후에 자기가 비공개 처리했던 이미지의 설정 정보를 다시 확인합니다.

 

 

  여기에서 [프로필에 표시] 버튼을 누르면 됩니다.

 

 

  그러면 다시 프로필 화면에 이미지가 공개적으로 보이게 됩니다.

728x90
반응형

728x90
반응형

  우리는 다양한 상황에서 주민등록등본이 필요합니다. 참고로 주민등록등본(초본)을 인터넷으로 발급받을 때는 무료입니다. 또한 인터넷으로는 즉시 발급받아 출력할 수 있기 때문에 굉장히 편리합니다.

 

  ▶ 링크주민등록등본 인터넷 신청

 

주민등록표등본(초본)교부 | 민원안내 및 신청 | 민원24 | 정부24

주민등록표등본(초본)교부 주민등록표등본(초본)교부 정보 신청방법, 처리기간, 수수료, 신청서, 구비서류, 신청자격 정보 제공 신청방법 인터넷, 방문 처리기간 즉시(근무시간 내 3시간) 수수료

www.gov.kr

 

  링크에 방문한 뒤에 [신청하기] 버튼을 누르면 됩니다.

 

 

  참고로 공인인증서만 있으면 [비회원 신청하기] 버튼을 눌러 확인할 수 있습니다.

 

 

  다음과 같이 이름, 주민등록번호를 입력하여 [확인] 버튼을 누릅니다.

 

 

  이제 구체적으로 자신이 발급받고자 하는 문서가 등본인지 초본인지 구분하여 선택할 수 있습니다.

 

 

 

  이후에 [온라인발급]을 선택하여 [민원신청하기]를 누르시면 됩니다.

 

 

  이후에 [문서출력] 버튼을 누르면 주민등록등본을 확인할 수 있습니다.

 

728x90
반응형

728x90
반응형

  청약제한사항이란, 자신이 주택청약을 신청할 때 불리하게 작용하는 제한 사항이 존재하는지를 알려주는 내용입니다. 예를 들어 이전에 청약에 당첨된 적이 있어서 재당첨 제한이 걸려 있는지 등의 여부를 확인할 수 있습니다. 청약제한사항은 청약홈에서 확인할 수 있습니다. 2020년을 기준으로 주택청약 관련 내용은 한국감정원 청약홈 사이트에서 확인하실 수 있습니다.

 

  ▶ 한국감정원 청약홈: www.applyhome.co.kr/

 

한국감정원 주택청약

한국감정원 주택청약 청약Home 입니다.

www.applyhome.co.kr

 

  사이트에 방문한 뒤에 [청약자격확인] - [청약제한사항확인]에 들어갑니다.

 

 

  이어서 다음과 같이 안내 메시지를 확인한 뒤에 [예]를 누르면 됩니다.

 

 

  이어서 [검색] 버튼을 눌러서 내용을 확인하시면 됩니다. 만약 청약 제한사항이 없는 경우 다음과 같이 "청약 제한사항이 없습니다."라고 출력될 수 있습니다.

 

728x90
반응형

728x90
반응형

  등기부 등본은 새로운 집으로 이사를 할 때 확인해 보는 경우가 많습니다. 일반적인 목적에 맞도록 쉽게 설명하자면 어떠한 집이 누구 소유인지, 그리고 그 사람이 그 집을 살 때 얼마나 많은 대출을 했는지 궁금할 때 사용할 수 있습니다.

 

  ▶ 인터넷 등기소: www.iros.go.kr/

 

  등기부 등본은 위 사이트에 방문하여 부동산 등기 [열람하기] 버튼을 눌러 뗄 수 있습니다.

 

 

  여기에서 [간편 검색]에 주소를 입력하여 [검색] 버튼을 누르면 됩니다.

 

 

  이후에 원하는 부동산을 [선택]하여 확인하시면 됩니다.

 

 

  이어서 등기기록을 모두 살펴보기 위하여 [전부]를 클릭한 뒤에 [다음] 버튼을 누르시면 됩니다. 이때 원하시면 모든 내용을 확인하지 않고 필요한 정보만 확인할 수도 있습니다.

 

 

  마찬가지로 [다음] 버튼을 눌러 넘어갈 수 있습니다.

 

 

  결과적으로 700원을 결제하여 등기부 등본을 확인할 수 있습니다.

 

 

※ 등기부 등본 확인 ※

 

  이제 등기부 등본을 열어서 자세한 내용을 확인할 수 있습니다. 특히 [을구] 란에서는 언제 누가 해당 집을 구매했는지 확인할 수 있으며, 정확히 얼마의 금액을 대출받아서 구매했는지도 알 수 있습니다.

 

 

※ 부동산 정보 요약 ※

 

  실제로 가장 많은 사람이 찾는 내용은 [부동산 정보 요약] 페이지에 있습니다.

 

 

  여기에는 실제로 현재 해당 집을 소유하고 있는 사람이 누구인지, 얼마 정도의 대출(근저당)이 끼어 있는지를 간단히 확인할 수 있습니다.

 

 

※ 참고 사항 ※

 

  2021년 초 기준으로 등기부 등본 열람 가격은 700원이며, 개인적으로는 결제 과정이 불편하게 느껴져서 핸드폰 소액 결제로 하는 게 편했습니다.

 

  또한 가끔씩 구글 크롬(Chrome)으로 접속했을 때, 웹 사이트에서 반응이 없으며 접속이 안 되는 경우가 있습니다. 이럴 때는 익스플로러(Explorer)로 접속하면 됩니다.

728x90
반응형

728x90
반응형

  많은 개발자는 깃허브(GitHub)를 이용하여 다양한 소스코드를 공유합니다. 재미있게도 깃허브에서의 활동 내역을 통계를 내어 개발자들의 순위를 매겨주는 서비스가 있습니다.

 

① GitHub Readme Stats

 

 

  이 프로젝트는 특정 깃허브 저장소의 통계 정보를 알려주는 프로젝트입니다. 자신의 깃허브 계정의 랭킹 정보와 함께 별점(star)을 얼마나 받았는지, PR은 얼마나 작성했는지 등을 통계적으로 알려줍니다. 사용 방법은 간단합니다. 자신의 사용자명(username)을 이용해 API에 넣으면 됩니다.

 

  ▶ GitHub Readme Stats: github-readme-stats.vercel.app/api?username={사용자명}&show_icons=true

 

  저는 제 사용자명을 넣어 스탯(stats)을 출력해 보았습니다. 그랬더니 다음과 같이 A++ 랭크가 나오는 것을 확인할 수 있었습니다.

 

 

  참고로 스탯 정보를 출력하는 테마(theme)도 존재합니다. 다크(dark) 테마를 넣을 때는 다음과 같이 합니다.

 

  ▶ 다크 테마: github-readme-stats.vercel.app/api?username={사용자명}&show_icons=true&theme=dark

 

 

  또한 자신이 주로 사용하는 프로그래밍 언어를 출력할 때는 다음과 같이 할 수 있습니다.

 

  ▶ 언어 통계: github-readme-stats.vercel.app/api/top-langs/?username={사용자명}&langs_count=8

 

  저는 많이 사용하는 언어 8개까지만 출력하도록 해보았습니다. 저는 주로 딥러닝(Deep Learing) 교육 목적의 저장소를 많이 가지고 있어서 Jupyter Notebook의 비율이 가장 높게 나오는 것을 알 수 있습니다.

 

 

② Rankedin

 

  ▶ Rankedin 링크: rankedin.kr/

 

 

  이 사이트는 국내(South Korea) 개발자들의 오픈소스 커뮤니티 사이트입니다. 본인의 깃허브(GitHub) 아이디를 넣으시면 다음과 같이 별점 합계와 함께 순위 정보가 출력되는 것을 알 수 있습니다. 저는 2020년 12월 기준으로 국내 순위가 159위라고 나오네요. 어차피 등수 자체는 큰 의미가 없다고 생각하지만, 자신의 모든 저장소를 인기 순위대로 볼 수 있어서 좋습니다.

 

 

③ Gitstar Ranking

 

  ▶ Gitstar 링크: gitstar-ranking.com/

 

  마찬가지로 깃허브 통계 정보를 알려주는 사이트입니다. 자신의 깃허브(GitHub) 계정명을 넣어 랭킹을 확인할 수 있습니다.

 

 

  이후에 다음과 같이 전 세계에서의 등수가 나오게 됩니다. 저는 별점(star) 기준으로 7,244등이라고 하네요. 저도 본격적으로 오픈소스 활동을 열심히 해서 많은 사람에게 도움이 되는 저장소를 만들어야겠습니다.

 

 

④ WakaTime

 

  ▶ WakaTime 링크: wakatime.com/

 

 

  추가로 WakaTime에 대해 언급하고자 합니다. 본 서비스는 개발자(developer)의 대시보드를 제공합니다. 자신이 각각 언어를 이용해 얼마나 많은 시간을 개발을 위해 투자했는지를 분석해준다는 특징이 있습니다. 다만 이 서비스는 별도의 설치 과정이 필요할 수 있어서, 앞서 언급한 서비스와는 다르게 바로 확인해 볼 수는 없습니다.

 

⑤ Codersrank

 

  ▶ Codersrank 링크: https://profile.codersrank.io/

 

  관심이 있으신 분은 이 사이트 또한 참고해 보세요. 깃 허브 및 링크드 인과 연동하여 다양한 정보를 공유할 수 있는 것 같습니다.

728x90
반응형

728x90
반응형

  깃허브(GitHub)는 자신이 직접 저장소(repository)를 만들어 다른 사람에게 공유할 수 있으며, 다른 사람이 공유한 저장소에 내가 초대되어 들어갈 수도 있다. 이때 다른 사람이 나를 초대하여 접근 권한이 있는 GitHub 저장소 리스트를 확인하는 방법을 알아보자. 가장 먼저 깃허브(GitHub)에 로그인한 뒤에 다음과 같이 [Settings] 페이지에 들어간다.

 

 

내가 접근할 수 있는 모든 저장소 확인하기 ※

 

  이후에 [Repositories] 탭으로 이동하면 다음과 같이 내가 접근할 수 있는 모든 저장소를 확인할 수 있다. 내 소유가 아니더라도 확인이 가능하다. 다시 말해 다른 사람이 나에게 프라이빗(private) 저장소에 대한 권한을 부여한 상황이라면 이 페이지에서 확인할 수 있는 것이다. 물론 퍼블릭(public) 저장소 또한 여기에서 모두 확인할 수 있다.

 

728x90
반응형

728x90
반응형

  윈도우(Windows) 운영체제에서 사용할 수 있는 USB Device Descriptor Viewer로는 [Thesycon USB Descriptor Dumper]가 있다. 이는 리눅스에서의 lsusb와 유사한 기능을 제공한다. 아래의 경로에 접속하여 다운로드 및 실행할 수 있다.

 

  ▶ Thesycon USB Descriptor: www.thesycon.de/eng/usb_descriptordumper.shtml

 

  웹 사이트에 접속한 이후에 [Download tdd.exe] 버튼을 눌러 뷰어(Viewer)를 다운로드하고 실행할 수 있다.

 

 

  실행하면 다음과 같은 화면을 만날 수 있다.

 

 

  다음과 같이 현재 컴퓨터에 연결된 USB 장치 중에서 자신이 원하는 장치를 선택하여 정보를 확인할 수 있다.

 

 

  필자의 경우 현재 사용하고 있는 MSI Gaming Mouse를 선택했는데, 정상적으로 전체 Device Descriptor를 확인할 수 있었다. VID=0x3938, PID=0x1100로 설정되어 있으며, USB 2.0 스펙을 지원하고, HID Class를 제공하는 것을 알 수 있다. 참고로 마우스(Mouse)에 해당하는 HID는 다음과 같은 프로토콜을 사용하기로 이미 약속되어 있다.

 

  ▶ bInterfaceClass: 0x03 (Human Interface Device Class)

  ▶ bInterfaceSubClass: 0x01

  ▶ bInterfaceProtocol: 0x02

 

  이에 대해 더 궁금하다면 USB 공식 사이트에서 제공하는 HID 문서를 읽어 보면 자세히 설명되어 있다. Keyboard는 0x01 프로토콜, Mouse는 0x02 프로토콜을 사용하기로 이미 정해진 것이다. 따라서 우리가 직접 Keyboard나 Mouse를 개발할 때에는 이러한 프로토콜에 맞게 Interface Descriptor를 작성할 필요가 있다.

 

  ▶ HID 공식 문서: www.usb.org/sites/default/files/documents/hid1_11.pdf

 

 

  아무튼 Thesycon USB Descriptor Dumper를 이용해 전체 USB 장치 정보를 출력해 보면 다음과 같이 나오는 것을 알 수 있다.

 

 

※ 참고 1 ※

 

  간혹 Device Descriptor가 없는 USB 기기를 연결하면 제대로 인식하지 못하는 문제가 발생할 수 있다. 예를 들면 라즈베리파이의 USB OTG 기능을 이용하여 호스트(Host) 컴퓨터와 단순히 연결한 경우가 이에 해당한다. 이러한 경우에는 호스트 쪽에서 Device Descriptor를 기다리게 되는데, 결과적으로 Descriptor가 도착하지 않기 때문에 시간이 조금 지난 뒤에는 다음과 같이 VID=0x0000, PID=0x0000으로 설정하게 된다. 말 그대로 Unknown Device로 인식하는 것을 확인할 수 있다.

 

 

※ 참고 2 ※

 

  라즈베리파이 Zero W에서 Multi Composite Gadget을 이용하여 Mass Storage Class 인터페이스(Interface)를 제공하도록 만들면 다음과 같이 Device Descriptor가 인식된다.

 

Information for device My USB (VID=0x1D6B PID=0x0104):

Connection Information:
------------------------------
Device current bus speed: HighSpeed
Device supports USB 1.1 specification
Device supports USB 2.0 specification
Device address: 0x001B
Current configuration value: 0x01
Number of open pipes: 2

Device Descriptor:
------------------------------
0x12	bLength
0x01	bDescriptorType
0x0200	bcdUSB
0x00	bDeviceClass      
0x00	bDeviceSubClass   
0x00	bDeviceProtocol   
0x40	bMaxPacketSize0   (64 bytes)
0x1D6B	idVendor
0x0104	idProduct
0x0100	bcdDevice
0x01	iManufacturer   "Dongbin Na"
0x02	iProduct        "My USB"
0x03	iSerialNumber   "0123456789abcdef"
0x01	bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A	bLength
0x06	bDescriptorType
0x0200	bcdUSB
0x00	bDeviceClass      
0x00	bDeviceSubClass   
0x00	bDeviceProtocol   
0x40	bMaxPacketSize0   (64 bytes)
0x01	bNumConfigurations 
0x00	bReserved 

Configuration Descriptor:
------------------------------
0x09	bLength
0x02	bDescriptorType
0x0020	wTotalLength   (32 bytes)
0x01	bNumInterfaces
0x01	bConfigurationValue
0x04	iConfiguration   "My USB Config 1"
0x80	bmAttributes   (Bus-powered Device)
0x7D	bMaxPower      (250 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x02	bNumEndPoints
0x08	bInterfaceClass      (Mass Storage Device Class)
0x06	bInterfaceSubClass   (Transparent SCSI subclass)
0x50	bInterfaceProtocol   (Bulk only transport)
0x05	iInterface   "Mass Storage"

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x02	bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200	wMaxPacketSize    (512 bytes)
0x00	bInterval         

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x01	bEndpointAddress  (OUT endpoint 1)
0x02	bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200	wMaxPacketSize    (512 bytes)
0x01	bInterval         


------------------------------
Other Speed Configuration Descriptor:
------------------------------
0x09	bLength
0x07	bDescriptorType
0x0020	wTotalLength   (32 bytes)
0x01	bNumInterfaces
0x01	bConfigurationValue
0x04	iConfiguration   "My USB Config 1"
0x80	bmAttributes   (Bus-powered Device)
0x7D	bMaxPower      (250 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x02	bNumEndPoints
0x08	bInterfaceClass      (Mass Storage Device Class)
0x06	bInterfaceSubClass   (Transparent SCSI subclass)
0x50	bInterfaceProtocol   (Bulk only transport)
0x05	iInterface   "Mass Storage"

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x02	bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040	wMaxPacketSize    (64 bytes)
0x00	bInterval         

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x01	bEndpointAddress  (OUT endpoint 1)
0x02	bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040	wMaxPacketSize    (64 bytes)
0x00	bInterval         

 

  반면에 라즈베리파이 Zero W에서 단일 g_mass_storage를 이용하여 Mass Storage Class 인터페이스(Interface)를 제공하도록 만들면 다음과 같이 Device Descriptor가 인식된다.

 

Information for device Mass Storage Gadget (VID=0x0525 PID=0xA4A5):

Connection Information:
------------------------------
Device current bus speed: HighSpeed
Device supports USB 1.1 specification
Device supports USB 2.0 specification
Device address: 0x001C
Current configuration value: 0x01
Number of open pipes: 2

Device Descriptor:
------------------------------
0x12	bLength
0x01	bDescriptorType
0x0200	bcdUSB
0x00	bDeviceClass      
0x00	bDeviceSubClass   
0x00	bDeviceProtocol   
0x40	bMaxPacketSize0   (64 bytes)
0x0525	idVendor
0xA4A5	idProduct
0x0504	bcdDevice
0x03	iManufacturer   "Linux 5.4.75+ with 20980000.usb"
0x04	iProduct        "Mass Storage Gadget"
0x00	iSerialNumber
0x01	bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A	bLength
0x06	bDescriptorType
0x0200	bcdUSB
0x00	bDeviceClass      
0x00	bDeviceSubClass   
0x00	bDeviceProtocol   
0x40	bMaxPacketSize0   (64 bytes)
0x01	bNumConfigurations 
0x00	bReserved 

Configuration Descriptor:
------------------------------
0x09	bLength
0x02	bDescriptorType
0x0020	wTotalLength   (32 bytes)
0x01	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0xC0	bmAttributes   (Self-powered Device)
0x01	bMaxPower      (2 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x02	bNumEndPoints
0x08	bInterfaceClass      (Mass Storage Device Class)
0x06	bInterfaceSubClass   (Transparent SCSI subclass)
0x50	bInterfaceProtocol   (Bulk only transport)
0x01	iInterface   "Mass Storage"

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x02	bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200	wMaxPacketSize    (512 bytes)
0x00	bInterval         

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x01	bEndpointAddress  (OUT endpoint 1)
0x02	bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200	wMaxPacketSize    (512 bytes)
0x01	bInterval         


------------------------------
Other Speed Configuration Descriptor:
------------------------------
0x09	bLength
0x07	bDescriptorType
0x0020	wTotalLength   (32 bytes)
0x01	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0xC0	bmAttributes   (Self-powered Device)
0x01	bMaxPower      (2 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x02	bNumEndPoints
0x08	bInterfaceClass      (Mass Storage Device Class)
0x06	bInterfaceSubClass   (Transparent SCSI subclass)
0x50	bInterfaceProtocol   (Bulk only transport)
0x01	iInterface   "Mass Storage"

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x02	bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040	wMaxPacketSize    (64 bytes)
0x00	bInterval         

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x01	bEndpointAddress  (OUT endpoint 1)
0x02	bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040	wMaxPacketSize    (64 bytes)
0x00	bInterval         
728x90
반응형

728x90
반응형

  오류 메시지는 다음과 같다.

 

 

  이 오류는 복잡한 GPU 디바이스 환경 설정 관련 오류인 것처럼 보이지만, 실제로는 입출력 차원(dimension)을 제대로 맞추지 않아서 발생하는 경우가 많다. 필자의 경우 ① 실제 데이터셋과는 다르게 출력(output) 차원의 크기를 설정했을 때 그리고 ② 실제 데이터셋과는 다르게 입력(output) 차원의 크기를 설정했을 때 각각 이러한 오류를 만난 적이 있다.

 

  예를 들어 Transfer Learning을 할 때는 출력 차원을 우리의 데이터셋에 맞게 바꾸어야 한다. 실제 가지고 있는 데이터셋이 3개의 레이블로 구성되어 있을 때, Transfer Learning을 위한 모델의 출력 차원을 10개로 설정했다면 이러한 오류 메시지를 만날 수 있다. 조금 더 하이 레벨에서 오류를 친절하게 알려주었으면 하는 바램이 있지만... 아무튼 개인적으로는 이 문제를 차원 크기를 잘못 설정했을 때에만 만났다.

728x90
반응형