본문 바로가기

SW programming20

[Python] register file의 address 값 - csv 파일에 저장하는 법 import pandas as pd import numpy as np import torch net: nafnet_v0 save_wgt: True save_io: True rf_info: ./rtl_verif/rf_id.csv csv_path: ./rtl_verif/other_params.csv def __init__(self, cfg, index): self.set_register_file() def set_register_file(self): df = pd.read_csv(self.params.rf_info) for name, mod in self.net.named_modules(): cls_name = mod.__class__.__name__# Conv2d와 같은 상위 레이어 mod.name = n.. 2023. 9. 18.
[Python] DNN 안의 parameter를 .csv 파일에 저장하는 법 utils/monitor.py class Singletone(type): _instances = {} def __call__(cls, *args, **kwargs): if cls not in cls._instances: cls._instances[cls] = super(Singletone, cls).__call__(*args, **kwargs) return cls._instances[cls] class Monitor(metaclass=Singletone): def __init__(self, csv_path, save_io=False, save_wgt=False, save_qa=True): self.csv_path = csv_path self.save_io = save_io self.save_wgt = s.. 2023. 9. 18.
[Python] Quantization - scaler 값 integer로 변환 Python코드로 Quantization - scaler 값 integer로 변환하기 Scaler = 0.0000296831131 Scaler = np.round(Scaler*(2**24)) # Scaler를 24bit로 표현 print(Scaler) 해당 값이 498로 출력된다. 근데 Scaler를 아래 변환기로 직접 계산해보면 496으로 오차가 발생한다. Scaler를 binary로 표현하면 21bit으로 가능하고, 현재 24bit으로 통일하여 맞추고 싶으므로 binary 값에 LSB 3bit을 0으로 채우면 decimal로 496이 나온다. decimal to binary 변환에서 오차가 발생하는 것으로 보인다. 2023. 9. 18.
[Python] .npy to .mem 파일 변환 Python코드로 .npy to .mem 파일 변환하는 방법 import numpy as np from fxpmath import Fxp layer_name = 'ending.resq' # load .npy file inp1 = np.load(f'./rtl_test/{layer_name}_inp0.npy') # Total data length: 16bit, fraction bit: 0bit, signed inp1_fxp = Fxp(inp1, n_word=16, n_frac=0, signed=True) # save to .mem file with open(f'memfile/{layer_name}_inp0_split0.mem', 'w') as f: for v in inp1_fxp.flatten().bin().. 2023. 9. 18.
[Python 텔레그램 봇] python-telegram-bot 모듈이란? 텔레그램 봇 Python 모듈 텔레그램 봇을 위한 Python 모듈이 여러 개 존재한다. 그 중 가장 많이 사용되는 모듈은 2가지 이며, telepot은 개발이 중단되어 지금은 python-telegram-bot을 쓰는 것이 좋다. 모듈 이름 웹 페이지 상태 telepot https://telepot.readthedocs.io/en/latest/ 개발 중단 python-telegram-bot https://python-telegram-bot.org/ 운영중 python-telegram-bot 설치 pip3 install python-telegram-bot 기본 코딩 - 봇에 메세지 보내기 import telegram token = "token number" #token 번호 - telegram 채팅창당 .. 2021. 6. 17.
[Python 텔레그램 봇] '매일' '1시간 주기'로 단독 뉴스 전해주는 봇 만들기 여기서 중요한 포인트는 '매일 매일' '1시간 주기'로 알림을 준다는 것이다. '매일 매일'을 위해서 Python anywhere 라는 서비스를 이용했으며 (매월 $5인 유료 서비스) '1시간 주기'를 위해서 APScheduler라는 Python package를 이용했다. 프로젝트 컨셉 https://www.youtube.com/watch?v=DyJDNnEAycY '매일' '1시간 주기'로 단독 뉴스 전해주는 봇 만들기 ※아래 내용을 이해하려면, 위 영상을 끝까지 시청하는 것이 도움이 되니 꼭 시청해주세요. (Only 4 minutes :D) 소스 코드 import requests from bs4 import BeautifulSoup import telepot #시간 마다 알람 지정용 from apsch.. 2021. 6. 15.
[Python 텔레그램 봇] 커뮤니티의 특정 '키워드'가 들어간 게시글 알림 받기 이번 포스팅에서는 커뮤니티의 특정 '키워드'가 들어간 게시글 알림 받기 를 해보겠습니다. 프로그램 컨셉 보배드림 커뮤니티에서 '도와주세요'라는 키워드를 검색하여 나온 새로운 게시글을 주기적으로 받습니다. 만약 새로운 글이 없으면 '새로운 글 읎따...'라는 응답도 날려주죠:) 웹 크롤링 루틴 1. 보배드림 사이트 접속하기 https://www.bobaedream.co.kr/ 보배드림 - 중고차 플랫폼, 수입차, 수입중고차 및 중고차시세, 내차시세 제공 중고자동차, 수입차, 외제차, 튜닝카, 스포츠카 매매 및 판매, 중고차시세 제공 www.bobaedream.co.kr 2. 검색 돋보기 아이콘 클릭하기 3. 내가 원하는 키워드 입력하기 (여기선 '도와주세요') 4. Enter 쳐서 접속하기 5. '커뮤니티.. 2021. 6. 6.