doodlrudco의 등록된 링크

 doodlrudco로 등록된 티스토리 포스트 수는 34건입니다.

[KAIST한정]전문연구요원 출퇴근 관리 텔레그램 봇을 만들어보자(2) [내부링크]

2024.01.17 - [잡지식 저장고/크롤링] - [KAIST한정]전문연구요원 출퇴근 관리 텔레그램 봇을 만들어보자(1) 이전 게시글에서 카이스트 인증 통과 및 전문연구요원 근태관리 사이트에 접속하여 정보를 읽어오는 과정까지를 다뤄보았다. 이번 게시글에서는, 이렇게 얻은 정보를 추가적인 인증 없이 나에게 일정시간마다 텔레그램을 통해 보내는 기능을 설명한다. 1. 오라클 무료 클라우드 인스턴스 할당받기(개인 서버가 있다면 스킵) 항상 동작하면서 일정시간마다 나에게 메시지를 보내는 서비스를 제대로 구동시키려면, 가장 먼저 언제나 켜져있는 서버가 필요하게 된다. 연구실에서 내가 오롯이 쓸 수 있는 서버장비가 구비되어있거나 한다면 편하겠지만 그렇지 않은 경우도 많을테고, 실물 서버는 언제든 전원이 꺼진다거나 ..

[KAIST한정]전문연구요원 출퇴근 관리 텔레그램 봇을 만들어보자(1) [내부링크]

Introduction (왜 만들었는지 설명하는 잡설, 스킵해도 됨) 필자는 카이스트에서 전문연구요원으로 2021년도에 편입하여 다가오는 2024년도 2월말에 소집해제가 되는 말년 이등병 소총수이다. 전문연구요원으로서 복무하는동안 출퇴근은 아주 중요한 관리 안건이었다. 2022년 전까지는 10AM 까지 출근을 깜빡하고 찍지 않으면 지각 페널티를 물었고, 이외에는 하루 8시간을 잘 채우면 끝나는 것이라서 어떻게 보면 관리 난이도 자체는 낮았다고 할 수 있겠으나, 2022년도 자율출퇴근 이후에는 주 40시간 중에 내가 오늘 얼마나 했고, 앞으로 얼마나 남았는지를 분 단위로 계산하는게 상당히 고역이었다. 더욱이, 자율출퇴근 초창기에는 시스템 상에서 지원해주는 기능이 몇 없었기 때문에 필자는 이를 자동으로 해줄..

파이썬만 사용해서 커스텀 코인 트레이더 웹사이트 만들기 - 3 : 모의투자 시스템(2) [내부링크]

모의투자 시스템 링크(구글 인증을 통해서 모의투자 자동 가입 가능)(찝찝하면 https://temp-mail.org/ 과 같은 임시 메일 서비스를 이용해 가입후 초기 1회 인증하면 이후 해당 아이디로 로그인 가능) 데모 : 이전 글 : 2023.07.24 - [파이썬으로 웹 App 작성하기/파이썬으로 Upbit 자동거래하기] - 파이썬만 사용해서 커스텀 코인 트레이더 웹사이트 만들기 - 3 : 모의투자 시스템(1) 파이썬만 사용해서 커스텀 코인 트레이더 웹사이트 만들기 - 3 : 모의투자 시스템(1) 이전 글 : 2023.05.25 - [파이썬으로 웹 App 작성하기/파이썬으로 Upbit 자동거래하기] - 파이썬만 사용해서 커스텀 코인 트레이더 웹사이트 만들기 - 2 : 기본 UI 파이썬만 사용해서 커스..

파이썬만 사용해서 커스텀 코인 트레이더 웹사이트 만들기 - 3 : 모의투자 시스템(1) [내부링크]

이전 글 : 2023.05.25 - [파이썬으로 웹 App 작성하기/파이썬으로 Upbit 자동거래하기] - 파이썬만 사용해서 커스텀 코인 트레이더 웹사이트 만들기 - 2 : 기본 UI 파이썬만 사용해서 커스텀 코인 트레이더 웹사이트 만들기 - 2 : 기본 UI TL;DR : UI 완성본 링크(이후 포스팅에 맞추어 업데이트 예정) 시리즈 이전 발행글 : 2023.04.06 - [파이썬으로 웹 App 작성하기/파이썬으로 Upbit 자동거래하기] - Anvil과 파이썬 Upbit API로 커스텀 코인 트 doodlrudco.tistory.com 모의투자 시스템 이전 게시글까지 완성한건 트레이더의 어플리케이션의 UI 까지이다. 그러면 이제, UI에 기능들을 엮어 모의투자 어플리케이션을 완성하고 나아가 실제 트레..

Ubuntu에서 Docker 기본 저장위치 바꾸기 [내부링크]

Docker는 기본적으로 /var/lib/docker 밑에 이미지 및 컨테이너 정보들을 저장해두는데, 부팅 디스크의 용량을 잡아먹는 괴물 중 하나다. 이걸 다른 드라이브로 옮기려면 아래와 같이 수행한다. 제일 먼저 docker 데몬이 돌아가고 있다면 그걸 멈춰준다. sudo systemctl stop docker 그 다음, 제일 먼저 기존 파일들을 옮겨주는데 이때 만약을 위해서 rsync나 cp를 통해서 복사를 먼저 해주는걸 권장한다. mv 로 옮기다가 중간에 에러나거나 멈추면 골치아프다. 예를 들어서 /NEWHDD/docker 밑에 옮겨준다고 하면 sudo rsync -avxP /var/lib/docker /NEWHDD/docker 위 명령어를 통해서(**이렇게 하면 /NEWHDD/docker/dock..

서대문구 맛집, 홍은제1동 맛집 - 홍은손칼국수() [내부링크]

위치 : 내부순환로에서 홍은동쪽으로 진출하는 램프 바로 옆에 위치. 접근이 좀 애매한데 말 그대로 램프 바로 옆이라 내려와서 한 바퀴 돌아야 한다. 내부순환로 밑으로 주차칸이 3칸정도 있는데 여기는 전쟁터라 한바퀴 빙 돌면서 아파트 상가가 보이면 바로 꺾는게 아니라 한칸 더 가서 우회전 및 강을 건너가면 에바다 생고기 있는 건물 뒤편으로 (거주자 우선이긴 하지만) 주차 공간이 죽 늘어서 있다. 여기 세우고 걸어가자. 가격 : 한 그릇에 8000원. 곱빼기도 있는데 어지간하면 보통이면 된다. 대식가면 곱빼기를 먹자. 카테고리 : 손칼국수 원툴 감상 맛집 리뷰하면서 처음으로 별을 달아봤는데 앞으로도 머리에 전구 내지는 느낌표가 뜨는 맛집들은 별을 달아서 표시할 작정이다. 필자가 개인적으로 손칼국수를 좋아하는..

카이스트, 어은동 맛집 - Moore(무어) [내부링크]

위치 : 유성구청과 스타벅스 사잇길로 쭉 들어와서 한빛아파트 상가 입구 앞 골목으로 쭉 들어오면 있는 곳. 골목에 운이 좋으면 주차 자리가 있기는 한데, 어지간하면 근처 한빛교회나 카이스트에 주차하기를 권장한다. 카테고리 : 피자, 파스타, 리조또 등 이탈리안. 감상 어은동 상권에서는 나름 새로운 가게인 무어. 2인 체제로 돌아가는데 장사가 항상 잘 되는 편이다. 음식이 나오는데까지 시간이 좀 걸리는 편이긴 하지만, 맛과 가성비를 생각하면 이 정도는 매우 괜찮은 수준. 식전빵이(사진은 못 찍엇다) 독특한데, 양파랑 블루베리 베이글을 잘 구워서 크림치즈와 함께 제공해준다. 맛있다! 이외에 피자, 파스타나 리소토 맛도 상당히 괜찮은데 피자의 경우에 원형이 아니라 이렇게 길쭉한 모양으로 나오고 크러스트가 화덕..

카이스트, 어은동 맛집 - 아카바의 식탁 두번째 [내부링크]

위치 : 유성구청 맞은편 스타벅스를 끼고 골목으로 돌아 들어가면 왼쪽에 바로 보이고, 차로 온다면 스타벅스 바로 다음 골목으로 우회전, 그 다음 또 바로 우회전 하면 된다. 주차공간을 찾기는 힘드므로 유성구청(6시 이후 주차 무료)이나 카이스트에 주차하는 것을 권장. 카테고리 : 퓨전 한+일+양식+브런치 정도? 감상 상대동에 본점인 아카바의 식탁이 있고, 그 두번째 지점이 어은동에 있는 것으로 알고 있다. 1층에는 카페가 있고 2층에 식당이 있는데, 식당 분위기가 꽤 특이하다. 좌식 테이블, 소파형 의자가 있는 테이블, 모두 나무의자인 테이블 등 식탁 유형도 가지각색이고 그릇들도 통일이 되어있지 않고 음식 유형마다, 남은 그릇의 종류마다 다르게 나온다. 기본적으로 음식맛은 모두 훌륭하지만 넒은 홀에 비해..

도룡동 맛집 - 리코제이 [내부링크]

카테고리 : 파스타, 피자 등 이탈리아 양식 위치 : 도룡동. 목원대학교 건물로 올라가는 방향에 있음. 건물 옆에 공영 주차장이 있는데, 거기에 주차하면 나중에 주차정산도 해주니까 걱정말고 주차하도록 하자. 감상 몇 번 가본적이 있는 곳인데, 최근에 주방장이 바뀐건지 맛이 좀 좋아졌다. 기본적으로 파스타 피자 와인을 파는데 이 중 와인에 관해서는 좀 자신이 있는 모양이다. 이 날은 와인을 마시지 않아서 본 포스팅에는 와인에 관해 소개하지는 않는다. 피자 도우가 좀 특이한데, 페스츄리 같이 겹겹이 있는 빵이다. 호불호가 좀 갈릴 수 있는데 개인적으로는 약간 코스트코 냉동피자 같아서 별로다. 맛 자체는 최근 괜찮아졌다. 위에 올라가는 토마토나 바질 같은 재료의 선도, 퀄리티는 준수한 편. 샐러드는 리코타 치..

사찰음식 맛집 - 계룡산 신야춘추 [내부링크]

카테고리 : 사찰음식 (음식점 들어가면 상장이 여러개 있다). 고기반찬이 없는건 아니고, 오신채를 안 쓰는 방향으로 조리. 마늘이 안 들어가서 꽤 독특한 풍미가 나는 음식들을 먹어볼 수 있다. 가격대 : 1인당 3만원 정도 이상은 나옴 위치 : 계룡산 근처 감상 연구실 단체 회식으로 간 거라서 처음에는 사찰음식이 무슨 말인가 했는데, 의외로 꽤 괜찮은 맛과 주변 경치에 만족하고 돌아온 집. 메인으로 밀고있는 메뉴는 신야춘추 정식인듯 한데, 아래에 보는것 같이 들깨 샐러드, 나물(맛있었는데 무슨 나물인지 까먹었다), 도라지+배 무침, 석박지, 조기 조림 등이 나오고, 여기에 우리는 불고기 단호박 전골도 같이 시켜 먹었다. 석박지나 메인인 굴비 조림을 먹어보면, 보통 우리가 밖에서 먹는 김치 및 조림류와 사..

Pytorch-TensorRT Dataparallel Inference 직접 만들기 [내부링크]

준비물 : Anaconda, Pytorch, torch2trt, GPU(본 포스팅에서는 3080*4ea) TL;DR → 필자 깃허브의 torchtrt_dataparallel 준비단계 먼저, 아나콘다를 통해서 아래와 같이 환경 설정을 수행한 후 본 포스팅을 시작하면 되겠다. 최종적인 환경도 깃허브(링크)에 yml 파일로 올려두었으니 그걸로 바로 설치해도 무방하다. conda create -n torch2trt_dataparallel python=3.8 conda activate torch2trt_dataparallel 그 다음 파이토치를 아래와 같이 설치하고(지금은 2.0 이 stable 버전이지만, torch2trt 호환도 그렇고 필자는 쫄보라서 1.11.0 설치한다. 2.0을 시도해 보는것도 권장한다)..

Anvil과 파이썬 Upbit API로 커스텀 코인 트레이더 어플 만들기 - 1 : 기본 API [내부링크]

이전 포스팅 : 2023.04.06 - [파이썬으로 웹 App 작성하기/파이썬으로 Upbit 자동거래하기] - Anvil과 파이썬 Upbit API로 커스텀 코인 트레이더 어플 만들기 - 0 : 준비단계 (환경 설정, 분봉차트) Anvil과 파이썬 Upbit API로 커스텀 코인 트레이더 어플 만들기 - 0 : 준비단계 (환경 설정, 분봉차트) 이전 포스팅(2020.03.16 - [파이썬으로 주식 해보기] - PYTHON과 대신증권 API를 이용한 주식 자동화 입문(1)) 에서는, 대신증권 API를 통해서 자동화 봇을 만들어보려고 했었는데, 아무래도 주식 장이 열 doodlrudco.tistory.com 깃허브 주소 : https://github.com/dlrudco/CoinAutoTrader_Anvil..

Anvil과 파이썬 Upbit API로 커스텀 코인 트레이더 어플 만들기 - 0 : 준비단계 (환경 설정, 분봉차트) [내부링크]

이전 포스팅(2020.03.16 - [파이썬으로 주식 해보기] - PYTHON과 대신증권 API를 이용한 주식 자동화 입문(1)) 에서는, 대신증권 API를 통해서 자동화 봇을 만들어보려고 했었는데, 아무래도 주식 장이 열리는 낮 시간대에만 테스트가 가능하고 win32 api 하고만 호환되는 구닥다리 API들 때문에 개발에 애를 좀 먹었던 경험이 있다. 반면 코인 거래소들은 주식 거래소와는 다르게 24시간 장이 열려있으며 파이썬 64bit와 호환이 되는 거래 API들을 제공한다. Upbit는 우리나라의 코인 거래소 중 하나로, 거래소를 이용하면 이미 많은 부분의 기능을 편리하게 다룰 수 있지만 자동거래라든지 조건부 트레이딩이라든지 커스텀 기능에 대한 지원을 해주지는 않는다. 파이썬 기반의 거래 자동화 T..

Anvil 로 웹 앱 만들어서 배포하기 (1) - Getting Started [내부링크]

보통 웹 앱을 만드는 건 프론트엔드, 백엔드의 개발을 요구하는데 이때 각 파트에서 필요한 개발 능력 및 언어상황이 다른 경우가 많아서 1인 개발의 난이도를 높이게 된다. Anvil(링크)은 이러한 문제점을 극복하고 웹 앱의 개발 난이도를 대폭 낮출 수 있을 것으로 보이는 개발 툴인데, 온라인 drag-and-drop 디자인 에디터에서부터 이벤트 핸들링, DB연동, 웹 페이지 배포에 이르는 방대한 범위를 모조리 파이썬으로 묶어버리는 변태 같은 툴이다. 오늘은 이러한 Anvil 의 Tutorial(링크)중 하나를 따라가면서 사용자 설문을 제출받아서 DB에 저장하는 간단한 웹 애플리케이션을 만들어보고, 해당 프레임워크의 사용 편의성을 체험해 본다. Anvil - Make a feedback submission..

카이스트 주변 맛집(왕비성) [내부링크]

이름: 왕비성 어은동의 터주대감이면서 거의 유일한 한국식 중화요릿집. 오랜시간동안 자리를 유지하고있는 집으로, 적당한 가격대로 학생들 및 거주민이 많이 찾는다. 다만, 아무래도 물가상승을 피해갈 수는 없는지 조금씩 가격이 오르고는 있다. 2023년 03월 09일 기준 볶음밥 9000원, 잡탕밥 14000원으로 6개월 전보다 대략 1500~2000원 정도씩은 오른 거 같다. 맛은 꾸준하게 좋기 때문에 맛집이라고 할 수 있을거 같다.

카이스트 근처 맛집(어은스시) [내부링크]

이름 : 어은스시 어은동 구노포차 옆에 있는 스시집. 꾸준히 괜찮은 맛과 적당한 가격으로 가볼만 하다. 위치상 주차가 좀 까다로운데, 6시 이후 방문할거면 유성구청이 무료이고, 유성구청 골목 뒤로 조금 더 들어가면 공원 주차장이 저렴하며, 대부분의 경우 자리가 없지만 전기차라면 한빛교회 앞의 전기차 충전소에 대고 걸어가는 것도 방법이다. 2023년 3월 7일 기준 이전까지 점심에 할인판매하던 스시 세트가 사라지고 점심과 저녁 단일 메뉴로 통합되었다. 스시 세트를 시키면 기본적으로 아래와 같은 계란 샐러드가 먼저 나오는데, 계란이 포슬포슬하고 소스나 야채의 조화도 괜찮아서 어은스시만의 경쟁력이라고 할 수 있다. 스시 세트는 아래와 같이 기본 10피스가 나오며 최근 들어 네타의 퀄리티가 조금 올라간 것 같다..

카이스트 근처 맛?집 (9시앙) [내부링크]

카이스트 서측 쪽문 바로 앞에 위치한 새로 생긴 중식집. 밥앤불고기, 떡볶이집 등 많은 선배들의 실패 사례 이후 또 다시 도전하는 식당이다. 위치 : (다음 지도에서는 아직 검색이 안되는 것 같다. 대덕한빛교회를 검색하고 찾아가자. 바로 맞은편이다.) 메뉴는 시그니처인 탄탄면을 필두로 해서 시앙탕면, 유린기, 마파두부덮밥, 만두 정도로 소수정예 컨셉인듯. 1인 세트로 탄탄면에 군만두, 탄탄면에 마파두부덮밥 등으로도 팔고 있고, 2-3인 세트도 있다. 혼밥이나 단체손님 전부 타겟으로 운영하는 듯 하다. 좌석도 이에 맞춰서 6인 이상 앉을 수 있는 테이블부터 창가 1인석까지 다양하다. 주문 및 계산은 테이블 당 비치되어있는 태블릿 키오스크로 전부 처리하고 물과 반찬, 앞치마, 식사를 테이블로 가져오는 것, ..

셀레니움 없이 웹페이지 스크린샷 뜨기 [내부링크]

셀레니움 셀레니움(Selenium)은 웹 드라이버 기반의 강력한 툴로써 크롤링 등 여러가지 용도로 널리 쓰이고 있는 라이브러리이다. 셀레니움의 강점은 그 쉬운 사용법에 있는데, 예를 들어 특정 url에 접근하여 페이지 스크린샷을 찍고싶다고 한다면 아래와 같이 간단한 코드로도 수행할 수 있다. from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() # options.add_argument("--headless") options.add_argument('log-level=3') options.add_argument(f"--window-size=1920,1080") options..

데코레이터란 : Python Decorator 예시집 - 2 [내부링크]

이전 포스팅 : 데코레이터란 : Python Decorator 예시집 - 1 데코레이터란 : Python Decorator 예시집 - 1 데코레이터? 파이썬에서 데코레이터란, 일반적으로 함수의 앞뒤에 미리 정의해둔 처리를 추가적으로 수행할 수 있게끔 치장하는 역할을 수행하는 컴포넌트이다. 아래와 같은 logger 함수를 데코 doodlrudco.tistory.com 이전 포스팅은, wrapper 함수를 좀 더 용이하고 쉽게 사용할 수 있도록 하는 파이썬의 데코레이터와 그때의 메타데이터 상속을 도와주는 @wraps 데코레이터에 대해 다뤘다면, 이후 포스팅은 유용하게 사용될 수 있는 데코레이터의 용례를 다룬다. functools - @lru_cache LRU는 기존 OS에서도 많이 다루는 캐시 관리 기법인데..

데코레이터란 : Python Decorator 예시집 - 1 [내부링크]

데코레이터? 파이썬에서 데코레이터란, 일반적으로 함수의 앞뒤에 미리 정의해둔 처리를 추가적으로 수행할 수 있게끔 치장하는 역할을 수행하는 컴포넌트이다. 아래와 같은 logger 함수를 데코레이터로 선언한다고 하면, def logger(function): def wrapper(*args, **kwargs): """wrapper documentation""" print(f"----- {function.__name__}: start -----") output = function(*args, **kwargs) print(f"----- {function.__name__}: end -----") return output return wrapper 위의 logger가 하는 일은 3,5 번째 줄에서 볼 수 있듯이 주어..

대전 갤러리아 근처 맛집(솔솥) [내부링크]

이름 : 솔솥 갤러리아 백화점 근처 맛집거리에 있는 솥밥집. 상무초밥 옆 건물로 1층에 찾기 쉬운 위치에 있다. 예약은 받지 않고 웨이팅을 해야하는데 문 앞에 있는 웨이팅 리스트에 이름 및 인원 수, 메뉴 등을 적고 대기하면 된다. 12시 조금 넘게 갔었는데 앞에 3팀 정도 있었고 이후 기다리는 동안 6팀 정도 더 올 정도로 꽤 웨이팅이 있는데다가 솥밥 특성상 회전율이 낮고 무조건 불렀을 때 근처에 있어야하는 방식이라 오픈 맞춰서 일찍 가는걸 추천. 메뉴 1 : 장어솥밥 - 장어가 꽤 튼실하고 비린내라든지 느끼함이 거의 없이 담백하다. 가격이 좀 사악하긴 한데 장어덮밥 가격 생각하면 한번씩 먹을만은 한듯. 메뉴 2 : 스테이크 솥밥 - 스테이크 질이 생각보다 괜찮았고, 무엇보다 소스가 꽤나 맛있었다. 육..

대전 카이스트 근처 맛집(맑음) [내부링크]

맛집 리스트 1번 : Malgm(맑음) 요리 : 커리 카이스트 서측 쪽문을 나가서 큰길쪽으로 나가다 보면 큰 길 직전 골목 귀퉁이에 바로 보인다. 기본 구성은 커리(치킨, 새우, 야채 중 재료 선택 가능), 난 2장, 샐러드 가 한 그릇에 담겨 나온다. 맵기도 조절해달라고 하면 어느정도는 조절 가능. 가격대는 2023년 최근 한끼 11000원 정도 근처에 분포해있다. 현금결제하면 새우튀김을 주는 이벤트가 오래도록 진행중이다.

Python Multiprocessing으로 병렬처리, 크롤링으로 맛보기 [내부링크]

Why Multiprocessing? Python은 Global Interpreter Lock(GIL) 로 인해서 원칙적으로는 c에서와 같이 fork 등 프로세스 분기가 막혀있다. 그럼에도 불구하고 유사한 효과를 제공할 수 있는 여러가지 방법들을 제공하는데, 이 중 multiprocessing, 그 중에서도 Pool을 다뤄본다. 크롤러나 I/O를 포함하는 파이썬 스크립트나 c backend가 없는 프로그램의 경우 단일 스레드만 사용하면 시스템 리소스 사용 효율이 너무 떨어지는 경우가 생기는데, 이 때 이걸 어느정도 해결하는 방법이 multiprocessing이다. SIMD vs Pipeline 공식문서에서 수 많은 용례를 확인할 수 있고, threadpoolexecutor, processpool exec..

Fast Audioset Download [내부링크]

repo : https://github.com/dlrudco/Fast-Audioset-Download 기존에 존재하는 구글의 오디오셋(Audioset) 다운로드 깃허브 레포들이나 vanilla youtube-dl 사용이 느리고 CPU util이 별로라서 직접 만든 레포지토리. ffmpeg에서 지원하는 유튜브 부분 추출 및 다운로드 기능과 python multiprocessing을 합쳐서 32 스레드 제온 실버 CPU 기준 48시간 안에 총 200만개(현재 블락 및 누락 때문에 총 170~180만개 살아있는듯) 다운로드 확인. eval이나 balanced_train은 2만개 수준인데 20분 정도 걸린 것 같다.

Pytorch LMS support building for CUDA 11 Compatibility [내부링크]

Pytorch 및 Tensorflow의 무수히 많은 포크 중에 LMS라는 포크가 있는데, 이는 Large Model Support의 약자이다. 이름에서 알 수 있듯이, 딥러닝 모델들이 무거워짐에 따라서 개인이 점점 자주 맞닥뜨리게 되는 쿠다OOM 문제를 해결하고자 제안된 모듈이다. github.com/IBM/pytorch-large-model-support IBM/pytorch-large-model-support Large Model Support in PyTorch. Contribute to IBM/pytorch-large-model-support development by creating an account on GitHub. github.com 안타깝게도 위 모듈은 파이토치 1.5.0 버전을 마지막..

detectron2 에서 Faster R-CNN RPN에 GradCAM 붙이기 [내부링크]

기본적인 코드 세팅은 github.com/yizt/Grad-CAM.pytorch 를 참조한다. 이 외에 detectron2 설치폴더 밑 modeling/proposal_generator/rpn.py 에서 RPN 클래스 하부 predict_proposals 함수에서 def predict_proposals( self, anchors: List[Boxes], pred_objectness_logits: List[torch.Tensor], pred_anchor_deltas: List[torch.Tensor], image_sizes: List[Tuple[int, int]], ): """ Decode all the predicted box regression deltas to proposals. Find the to..

도커 컨테이너에서 원격 디스플레이 실행하기 [내부링크]

호스트에서 도커 컨테이너에 접속한 경우, 혹은 리모트로 직접 컨테이너에 ssh로 접속한 경우 모두에 적용된다. 도커 컨테이너에서 (Ubuntu OS 가정) apt-get install ssh 로 ssh 데몬을 깔아주고, service ssh start 로 시작해 준 다음 /etc/ssh/sshd_config 파일 내부에서 #X11UseLocalhost yes 로 되어있는 부분을 X11UseLocalhost no 로 바꿔주고 service ssh restart 해준다. ## Pycharm을 사용하는 경우 컨테이너에서 echo $DISPLAY를 한 결과를 pycharm environment DISPLAY로 넣으면 파이참에서도 X11 포워딩을 할 수 있다!

Python setup.py 에서 닌자 관련 에러 날 때 [내부링크]

가끔 setuptools에서 이상한 에러가 날 때가 있는데, 주로 컴파일러 문제일 때가 많다. cmake도 에러가 자주 나지만 닌자에서도 에러를 자주 보게 되어서, 닌자랑 cmake랑 둘 다 시도해보고 싶은 상황이 있게 된다. from setuptools import setup from torch.utils.cpp_extension import BuildExtension, CUDAExtension setup( name='roi_align_cuda', ext_modules=[ CUDAExtension('roi_align_cuda', [ 'src/roi_align_cuda.cpp', 'src/roi_align_kernel.cu', ]), ], cmdclass={'build_ext': BuildExtensio..

파이썬에서 로그 한 줄에 계속 프린팅하기 [내부링크]

파이썬에서 루프 진행사항을 프린트 할 때, 프린팅 단위가 너무 크면 어디까지 됐는지 감이 안 오고, 너무 짧으면 화면을 다 잡아먹어서 오히려 진행사항을 보기가 어려운 상황이 생긴다. tqdm 같은 패키지를 쓸 수 있지만, 굳이 프로그래스 바 수준까지는 필요 없다면 print("\r", sep=' ', end='', flush=True) 위 예시 및 코드블럭과 같이 프린트 함수에 옵션만 조정해도 괜찮은 결과를 얻을 수 있다.

torch.nn.Parameter 에 관해서 [내부링크]

Pytorch 에는 Parameter라는 모듈이 있는데, 얘는 레이어가 아니라 말 그대로 파라미터 값만을 가지고 있는 놈이다. class Actor(nn.Module): def __init__(self, num_inputs, num_outputs, continuous=True, shared=False): self.num_inputs = num_inputs self.num_outputs = num_outputs super(Actor, self).__init__() self.fc1 = nn.Linear(num_inputs, hp.hidden) self.fc2 = nn.Linear(hp.hidden, hp.hidden) self.fc3 = nn.Linear(hp.hidden, num_outputs) self...

PYTHON과 대신증권 API를 이용한 주식 자동화 입문(2-번외) [내부링크]

PYTHON과 대신증권 API를 이용한 주식 자동화 입문(2) 에서 OrderMain 클래스를 통해서 주문이 들어가는 것은 좋은데..... 이 귀찮은 확인창이 발목을 잡는다. 필자가 찾아볼 수 있는 한계 내에서는 이 확인창을 직접 엔터나 스페이스를 누르는 행위를 제외하고 API적으로 해결하기는 불가능했다. 그래서 꼼수를 살짝 부려봤다. 1) 먼저 32bit python 환경(경고가 뜨긴 하는데 64bit python을 사용해도 똑같이 동작한다.)에 pywinauto, pyautogui 를 깔아준다 pip install pywinauto pyautogui 2) Cybos Plus 주문 확인 창의 이름이 항상 동일한걸 이용해 import pywinauto import time from pyautogui im..

PYTHON과 대신증권 API를 이용한 주식 자동화 입문(2) [내부링크]

원래는 Cybos Plus API를 사용하기 위한 이런저런 삽질기를 작성하려고 했지만, 크레온 API 예제들은 훌륭히 동작하는 것을 발견했다! https://money2.creontrade.com/e5/mboard/ptype_basic/plusPDS/DW_Basic_Read.aspx?boardseq=299&seq=56&page=2&searchString=%ec%a3%bc%eb%ac%b8&prd=&lang=&p=8833&v=8639&m=9505 크레온플러스자료실 - 크레온 첨부파일을 PDF뷰어로 확인 하실수 있으며, PDF뷰어 미설치 고객께서는 우측 다운로드를 통해 설치 후 이용 가능 합니다. PDF뷰어 다운로드 money2.creontrade.com 위 링크의 코드를 그대로 복사한 다음 위젯부분을 제거하..

PYTHON과 대신증권 API를 이용한 주식 자동화 입문(1) [내부링크]

기존에 찾을 수 있는 CYBOS Plus 관련 안내들이 살짝 outdated 되어있는 고로, 하나씩 좌충우돌 해보려고 한다. 0) pre-requisites -금융거래용 공인인증서가 있을 것. -대신증권 계좌 및 아이디가 있을 것.(모바일 Cybos Touch 앱을 통해 비대면 개설가능.) -운영체제는 Windows 일것.(https://money2.creontrade.com/e5/mboard/ptype_basic/Basic_018/DW_Basic_Read_Page.aspx?boardseq=60&seq=21357&page=1&searchString=&p=8829&v=8637&m=9505) -거래관리용 python interpreter는 32bit 기반일것.(API가 COM객체 기반인데 32bit 밖에 지..

Python Multiprocessing으로 병렬처리, 비디오 처리로 맛보기 [내부링크]

Why Multiprocessing? 이전 포스트(링크)에서도 언급했듯이, Python은 Global Interpreter Lock(GIL) 로 인해서 원칙적으로는 c에서와 같이 fork 등 프로세스 분기가 막혀있다. Multiprocessing을 통해서 이런 한계점을 극복할 수 있는데, 이번 포스트에서는 그 중 Process를 이용한다. SIMD vs Pipeline 내가 사용하는 병렬화 방식은 크게 두가지인데, 이 중 Process를 이용한 파이프라인 기반의 병렬처리는 아래 2번의 설명과 같이 한번에 처리해야하는 데이터의 양보다도 하나의 데이터에 대해 수행해야하는 작업 자체가 복잡하고 여러 단계로 이루어져 있을 때 유용하다. 단순한 작업이 매우 많이 반복되어야한다 --> Pool을 사용하는 SIMD스..