전체 글

망각을 지연시키는 블로그
Docker

[yml] Docker-compose 옵션과 yml 형식 작성

1. 시작 `docker-compose.yml` 파일을 작성하면서 사용했던 옵션 및 yml 별칭 기능으로 yml 파일에 반복되는 구문은 간략화시킬 수 있는 샘플 docker-compose.yml이다. 2. 내용 version: 'x.x' networks: sample_network: # 네트워크 정의 driver: bridge # `sample_network`는 bridge 입니다. ipam: config: - subnet: 10.5.0.0/16 # IPv4 네트워크 대역 설정 gateway: 10.5.0.1 # IPv4 GW 네트워크 고정 정의 - subnet: "2001:db8:1::/64" # IPv6 네트워크 대역 설정 gateway: "2001:db8:1::1" # IPv6 GW 네트워크 고정 ..

NiFi

NiFi TailFile

1. 시작 TailFile 로그를 실시간으로 가져오기 위해 TailFile 프로세서를 이용하여 실시간으로 로그를 가져오려고 했다. 그 과정 중 삽질이 있었기 때문에 이렇게 정리를 한다. 2. 알고 있던 사용 방법 로그 수집 대상의 파일명은 날짜형식으로(YYYYMMDD)되어있고 해당 날짜의 로그들이 전부 `. txt`형태로 저장된다. 다음날이 되면 다음날의 `. txt`파일에 기록되며 나는 `Tailing mode`를 `Single file`로 설정, `File(s) to Tail`을 `D:/PATH/${now():format(''YYYYMMDD'')}.txt` 이런 형식으로 테일링설정을 하였고 `Run Schedule` 을 `0 sec` 로 하였었다. 이럼 내 상식으론 하루가 지나면 자동으로 다음날 파일..

Kafka

[Python]kafka key=b'\x00\x00\x00\x01', value='\x00\x00\x00\x00\x00\x00' 원인및 해결방법

1. 시작 Python 으로 Kafka Consumer를 개발하던중, Producer에서 데이터를 보내면 Consumer에 2가지 데이터가 온다 Producer가 보낸 데이터 kafka key=b'\x00\x00\x00\x01', value='\x00\x00\x00\x00\x00\x00' .. 와 같은 해더가 없는 바이너리 데이터 처음에는 해더가 있냐 없냐로 그냥 데이터를 분기했지만 너무 거슬렸다. 원인은 Producer에서 Transactions 옵션 때문이었다. 2. Transactions? Kafka로 데이터를 보내는 데 문제가 발생했을 때 Transactions을 사용하지 않을경우 이미 Kafka로 전송된 메시지는 계속해서 Consumer에게 전달된다. Transactions을 사용하면 Kafka..

Linux | PowerShell

[부팅불가 해결]Ubuntu22.04 Nvidia 그래픽 드라이버 제거/설치 및 삽질기

시작 STT 서비스작업 때문에 Ubuntu22.04에 Nvidia 그래픽 카드를 설치해야 했다. 짧은 지식 때문에 정상적으로 부팅도 못하고, 야근까지 했던 나 자신을 돌아보면서, 나중에 이런 일이 또 발생하지 않도록, 까먹지 않기 위해 써놓는다.. 주의 최신 그래픽카드 같은 경우 `sudo ubuntu-drivers autoinstall` 명령어를 사용하여 설치할 경우 높은 확률로 재부팅 시 이쁜 보라색 화면의 Grub화면이나(이게 나오면 참 다행), 검정 화면에 깜빡이는 캐럿 하나만 나온다. 혹은, 우분투 설치 옵션에 무슨 패키지 설치 옵션을 선택해놨으면 설치 완료 후 부팅을 못해 "응?" 할 수도 있다. 안타깝지만 모두 내 사례다.. 1번째는 회사 워크스테이션 새팅할때,, 2번째는 집에 있는 내 컴퓨..

프로그래밍/Python

[Gradio] ValueError: An event handler (transcribe_file) didn't receive enough output values

시작 Gradio로 Whisper_STT를 서비스하는 서버를 만들었는데, 파일을 넣고 "파일 변환"을 누르면 작업중 웹에서 "Error" 가 표시되고 중지되었다. Docker기반 애플리케이션이기 때문에 바로 `docker logs -f [컨테이너명]` 명령어로 로그를 추적해봤더니 "ValueError: An event handler (transcribe_file) didn't receive enough output values" 오류를 뿜고있었다. Traceback (most recent call last): File "/home/sttUser/.local/lib/python3.10/site-packages/gradio/routes.py", line 439, in run_predict output = a..

Linux | PowerShell

[Ubuntu] apt upgrade 롤백(취소하기)

시작 서버에 온갖 삽질과 샛팅을 끝내고 `apt upgrade`를 시키는 도중 쌔한 느낌이 들어 'apt upgrade 후 부팅안됨'을 검색하니 예상과 같이 그런 사례가 종종 있었다 바로 폭풍 `ctrl + c` 키를 눌렀지만 돌이킬 수 없었다. `apt upgrade` 명령 같은 경우에는 최신 버전으로 올려주기 때문에 특정 패키지가 삽질한 결과를 물거품 만들 수 있기 때문에 다시 롤백시키려고 한다. 참고 https://www.cyberciti.biz/howto/debian-linux/ubuntu-linux-rollback-an-apt-get-upgrade/ 아무 생각없이 `apt upgrade` 명령어를 쳐버린 내 불찰 후다닥 서칭해서 찾았다. 1. 기록 탐색 `/var/log/apt/history.l..

Docker

Python(Cuda) 기반 컨테이너 실행 안될때

시작 Python(Cuda) 이미지를 가져와 Whisper STT 서버 컨테이너를 Dockerfile에서 작성 후 docker-compose 에서 entrypoint 를 `python3 app.py --server_name 0.0.0.0` 로 지정하고 `docker-compose up` 명령어를 사용했을 때 로그에서 `Attaching to [컨테이너명]` 에서 멈추는 현상을 발견하였고 삽질을 했다. 그래서 `docker exec -itu 0 ` 명령어로 해당 컨테이너에 들어가보면 정상적으로 진입은 하였지만 애플리케이션이 실행되진 않았다.(entrypoint 명령어가 실행되지 않았다.) 삽질 #1 entrypoint 말고 command 로 설정 결과 실패(동일증상) 삽질 #2 Dockerfile 에서 e..

잡것/STT

[STT][Whisper설치과정] #2 ffmpeg , whisper 설치하기

1. 시작 아래 링크에서 이어서 작성된 글입니다. [참고 : Python, NVIDIA CUDA, PyTorch 설치하기] https://hbcha0916.tistory.com/72 [STT][Whisper설치과정] #1 Python, NVIDIA Driver, PyTorch 설치하기 1. 시작 Whisper를 사용하기 위해 우선 그래픽 드라이버 및 PyTorch를 설치한다. 1.1. 설치 버전 Whisper를 사용하기 위해 아래와 같은 버전을 사용합니다. 아래와 같은 버전이 아닐 경우 2번으로 넘어가 hbcha0916.tistory.com 1.1. FFmpeg란 요약 FFmpeg는 인간과 기계가 만든 거의 모든 것을 디코딩, 인코딩, 트랜스코딩, 믹스, 디믹스, 스트리밍, 필터링 및 재생할 수 있는 선..

잡것/STT

[STT][Whisper설치과정] #1 Python, NVIDIA Driver, PyTorch 설치하기

1. 시작 Whisper를 사용하기 위해 우선 그래픽 드라이버 및 PyTorch를 설치한다. 1.1. 설치 버전 Whisper를 사용하기 위해 아래와 같은 버전을 사용합니다. 아래와 같은 버전이 아닐 경우 2번으로 넘어가 설치합니다. 1.1.1. Python 버전 3.9.0 (최신버전으로 사용해도 무관) 아래 명령어로 Python 버전을 확인합니다. python --version 1.1.2. CUDA 버전 11.8 아래 명령어로 CUDA 버전을 확인합니다. nvcc --version 1.1.3. PyTorch CUDA 11.8 아래 명령어로 CUDA 버전을 확인합니다. python # python 콘솔 진입 >>> import torch >>> print(torch.__version__) >>> exit..

잡것/STT

[STT] Whisper와 ClovaSpeech

1. 시작 STT관련 프로젝트 덕분에 STT를 알게 되었다. STT는 Speech To Text의 줄임말로 사람의 음성을 텍스트로 변환한다. 반대로는 TTS(Text To Speech)가 있으며 우리가 알고 있는 BJ한테 후원하면 나오는 여자음성(and 쿠쿠루삥뽕), 내비게이션 길안내 등이 TTS이다. 2. STT종류 및 특징 STT를 사용해 볼수 있는 것은 OpenAI(ChatGPT를 만든 조직)에서 만든 Whisper와 Naver에서 만든 ClovaSpeech가 있다. 2.1. OpenAI - Whisper 주요 특징 [참고 : whisper github] https://github.com/openai/whisper GitHub - openai/whisper: Robust Speech Recognit..

항상 빌드중
언제나 미완성