computer science
-
Triton server memory leak (메모리 릭) malloc설정을 바꿔보자computer science 2024. 5. 13. 14:00
- 결론부터 말하자면 Triton inference api server 를 사용할때 docker image의 malloc을 지정하는 환경변수를 바꿔서 테스트해보는것을 추천한다. 자세한 방법과 내용은 글 하단에 작성해두었다. 일단 필자가 사용하는 서버에서 주로 메모리가 급증했던 구간은 python으로 preprocess하는 custom api 구간이었다. image를 byte array 형태로 직접 받도록 구성해두었다보니 요청량이 많아져 queue가 쌓이면 이미지를 메모리상에 두게되어 메모리 점유율이 급상승하는 형태를 띈다. 문제는 요청 이후 api측은 idel상태인데 메모리중 일부가 릴리즈되지 않는 경향을 보이는것이다. 처음에는 python에서 garbage collecter가 동작해서 해결될거..
-
ChatGPT + Code Interpreter 세팅 & 시각화 잘하려면 알아야 할 5가지!computer science 2023. 7. 16. 11:30
최근에 OpenAI에서 발표한 ChatGPT의 따끈한 기능 Code Interpreter가 발표되었다. 이를 통해서 데이터 분석가 못지 않은 데이터 정리와 분석, 가벼운 머신러닝, 데이터 시각화를 코드에 대한 지식 없이도 일반인이 쉽게 접근 할 수 있게 되었다. 물론 필자 생각에는 데이터 분석가들이 이 기능을 더욱 잘 활용할 수 있을것이라고 보는데, 그 이유 중 하나는 이 코드인터프리터가 동작하는데 사용하는 기술들이 그들에겐 익숙한 툴이기 때문이다. OpenAI 공식 디벨로퍼 사이트에 가면 다음과 같이 코드 인터프리터가 어떤 패키지툴을 활용하는지가 설명되어있다. 더보기 제목 : Code Interpreter Python Packages: List of packages available in the env..
-
앞으로는 FastAPI를 Uvicorn + Gunicorn 쌍두마차로 활용하자computer science 2023. 6. 27. 15:30
FastAPI는 Python에서 고성능, 쉽고 빠른(프로그래밍의 측면에서), 웹 API를 구축하는데 사용되는 현대적인, 빠른(실행 시간의 측면에서), 웹 프레임워크다. 이는 데이터 유효성 검사, 직렬화, 문서화 등을 다루는데 있어 매우 유용하며, 이 모든 것들이 본질적으로 표준 Python 타입 힌트에 기반을 두고 있다. FastAPI를 실제로 실행하려면 ASGI 서버가 필요한데, 이 때 가장 일반적으로 사용되는 것이 uvicorn이다. Uvicorn이란? Uvicorn은 ASGI 서버이며, 초고속 ASGI 서버에 본질적으로 필요한 것들만을 제공한다. Uvicorn은 uvloop와 httptools를 활용하여 빠른 HTTP 요청 처리를 가능하게 한다. 이는 Python에서 웹 서버를 만드는 과정에서의 주..
-
Python Code for Dictionary Dot Accessible & Nested Key Handlingcomputer science 2023. 6. 24. 14:30
In Python, dictionaries are a versatile data structure that allows us to store key-value pairs. However, they might not always be convenient to use, especially when we're dealing with nested structures and we'd prefer to access them using dot notation, much like we would with an object's attributes. So, today, we're going to create a Python class that allows for dot-accessible dictionary keys an..
-
FastAPI에서 Redis를 비동기로 사용하도록 설정하기computer science 2023. 6. 17. 14:15
앞으로는 FastAPI를 Uvicorn + Gunicorn 쌍두마차로 활용하자 FastAPI는 Python에서 고성능, 쉽고 빠른(프로그래밍의 측면에서), 웹 API를 구축하는데 사용되는 현대적인, 빠른(실행 시간의 측면에서), 웹 프레임워크다. 이는 데이터 유효성 검사, 직렬화, 문서화 stocktrees.com 필자는 Flask로 주로 개발하다가 FastAPI로 넘어오면서 가장 곤혹을 치뤘던것이 바로 비동기처리로 모든 코드를 변경하고 적응하는 것이었다. 이미 검색하면 답이 다 나와있지만 그럼에도 기록차원 + redis구현에 좀더 쉬운 가이드가 필요한 개발자가 있을지도 모르니 블로그 글을 남겨본다. 자 이제 제목 그대로다. redis를 비동기적으로 설정해보자. 여기서는 aioredis 패키지를 통해 구..