일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 오블완
- no space left on device
- humble
- CLASS
- 분당맛집
- GPT
- timm
- python
- socketio
- ubuntu
- ros
- pytorch
- 스팸
- 딥러닝
- string
- 티스토리챌린지
- opencv
- linux
- 판교
- 맛집
- openAI
- Android
- CUDA
- Torch
- ChatGPT
- error
- TTS
- ROS2
- 터미널
- tensorflow
- Today
- Total
목록전체 글 (131)
RoBoLoG

[Python] 터미널 창에서 한줄로 SocketIO 서버 만들기Socket.IO 서버를 Ubuntu 터미널에서 한 줄로 실행하는 방법을 단계별로 자세히 설명하겠습니다. 1단계: 필요한 패키지 설치먼저, python-socketio와 eventlet 패키지를 설치합니다. 이를 위해 터미널에서 다음 명령을 실행합니다:pip install python-socketio eventlet 2단계: 한 줄로 Socket.IO 서버 실행다음 명령을 사용하여 한 줄로 Socket.IO 서버를 시작할 수 있습니다:python -c "import socketio, eventlet; sio = socketio.Server(); app = socketio.WSGIApp(sio); eventlet.wsgi.server(eve..

Average pooling과 global average poolingAverage pooling과 global average pooling은 모두 풀링 층에서 사용되는 기법으로, 입력 특성 맵의 크기를 줄이고 계산 비용을 줄이는 데 사용됩니다. 두 기법의 주요 차이점과 효과를 설명하겠습니다.Average PoolingAverage pooling은 정해진 크기의 필터(또는 커널)를 사용하여 입력 특성 맵의 일정 부분을 평균화합니다. 이 과정을 통해 특성 맵의 크기를 줄이고, 다운샘플링된 출력을 생성합니다.작동 방식: 예를 들어, 2x2 커널을 사용한 average pooling의 경우, 커널이 입력 특성 맵을 겹치지 않고 이동하면서 각 2x2 영역의 값들을 평균냅니다.출력 크기: 커널 크기와 스트라이드(..

[OpenCV] 로봇에 필요한 유용한 함수/기능 모음 로봇이 카메라를 사용하여 상황을 인식할 수 있는 기능을 개발하는 데 있어 OpenCV는 다양한 유용한 도구와 알고리즘을 제공합니다. 아래는 로봇의 상황 인식에 도움이 될 수 있는 OpenCV 기능들입니다:1. 객체 탐지 및 추적Haar Cascades 및 HOG + SVM: 얼굴, 눈, 자동차 등의 객체 탐지에 유용합니다.YOLO, SSD, Faster R-CNN: 딥러닝 기반 객체 탐지 알고리즘으로, 실시간으로 다양한 객체를 정확하게 탐지할 수 있습니다.# YOLO 객체 탐지 예제import cv2net = cv2.dnn.readNet("yolov3.weights", "yolov3.cfg")layer_names = net.getLayerNames()..

[한줄 코딩] Cuda 사용 가능한지 확인하는 방법 (Tensorflow, Pytorch) GPU 사용 가능 여부 확인하기: TensorFlow와 PyTorch딥러닝 작업을 수행할 때 GPU를 활용하면 속도를 크게 향상시킬 수 있습니다. 하지만, 현재 시스템에서 GPU가 사용 가능한지 확인하는 것이 중요합니다. 이를 위해 TensorFlow와 PyTorch를 사용하여 간단하게 GPU 사용 가능 여부를 확인하는 방법을 소개합니다. Why? 터미널 창에서 쉽게 GPU 사용 가능 여부 확인딥러닝 작업을 위해 많은 사용자들이 터미널에서 작업을 진행합니다. 따라서, 터미널 창에서 간단한 명령어를 통해 GPU가 사용 가능한지 확인할 수 있다면 매우 편리합니다. 이를 통해 모델 학습 전 GPU가 제대로 인식되고 있는..

Python 난독화 방법: pyarmor, pyminifier, pyconcrete, Cython...1. PyArmorPyArmor는 Python 스크립트를 난독화하여 보호하는 도구입니다. 주로 Python 코드를 타인에게 배포할 때 원본 코드를 보호하고 싶을 때 사용합니다. PyArmor를 사용하는 기본적인 예시를 설명하겠습니다. 1) PyArmor 설치PyArmor는 Python 패키지이므로 pip를 사용하여 쉽게 설치할 수 있습니다.pip install pyarmor 2) 기본 사용법난독화할 Python 스크립트 준비: 예를 들어, hello.py라는 스크립트가 있다고 가정합니다. 이 스크립트에는 간단한 인사말이 출력되는 코드가 있습니다.# hello.pyprint("Hello, PyArmor!"..

tensorflow_cpu_aws cannot allocate memory in static TLS block 이 문제는 Mediapipe, ROS, 그리고 TensorFlow를 동시에 사용할 때 발생할 수 있는 메모리 할당 문제로 보입니다. 특히, TensorFlow가 CPU 버전에서 static TLS (Thread Local Storage) 블록에 메모리를 할당하는 과정에서 발생할 수 있습니다. 저의 경우 엣지 디바이스에서 실행하므로 tensorflow를 설치하면 tensorflow-cpu-aws가 설치되었습니다. 더보기 TensorFlow 2.10 부터 Aarch64/ARM64 프로세서용 Linux CPU 빌드는 제3자( AWS) 에 의해 구축, 유지 관리, 테스트 및 출시됩니다. ARM 시스템에..

[Error] AttributeError: module 'cv2' has no attribute 'CV_8U' 이 에러 메시지는 AttributeError: module 'cv2' has no attribute 'CV_8U'으로, Python에서 OpenCV를 사용할 때 발생할 수 있는 문제입니다. 이는 주로 opencv-python 대신 opencv-contrib-python을 사용하면서 발생할 수 있는 문제입니다. 1. 예상되는 원인 opencv-contrib-python을 사용할 때 특정 버전에서만 발생하는 호환성 문제일 수 있습니다. 저의 경우, opencv-contrib-python==4.9.0.80 버전에서 이 문제가 발생했습니다. 2. 해결 방법 문제의 원인이 특정 버전의 opencv-con..

GPT를 로봇 연구에 활용하는 방법 로봇 소프트웨어 연구자가 GPT와 같은 고급 자연어 처리 모델을 활용하는 방법에는 다양한 접근 방식이 있습니다. 이러한 모델은 로봇 공학 분야에서 혁신적인 발전을 가져올 수 있는 높은 잠재력을 지니고 있습니다. 여기 몇 가지 예시를 들어보겠습니다: 더보기 Robot software researchers can leverage advanced natural language processing models like GPT in a variety of ways. These models hold the potential for innovative advancements in the field of robotics. Here are some examples: 1. 자연어 이해 ..

AI 학습을 위한 오디오 데이터 wav 파일 증강 (Audio Augmentation) 1. 데이터 폴더 예시 dataset-speech 폴더 안에 각 class에 대한 폴더가 있고, 그 아래 wav 파일들이 있을 때 데이터를 증강해보겠습니다. dataset-speech -- up ---- up1.wav ---- up2.wav -- down ---- down1.wav -- left ---- left1.wav ---- left2.wav ---- left3.wav -- right ---- right1.wav ---- right2.wav -- background ---- background1.wav ---- background2.wav ---- background3.wav 2. 데이터 증강 코드 step-by..

RuntimeError 오류는 텐서가 다른 디바이스(cuda:0와 cpu 등)에 위치해 있을 때 발생하는데, 이는 PyTorch에서 연산을 수행할 때 관련된 모든 텐서가 동일한 디바이스에 있어야 하기 때문입니다. PyTorch는 텐서가 CPU나 특정 GPU(cuda:0, cuda:1 등)와 같은 동일한 디바이스 위에 위치해야 해당 연산을 올바르게 실행할 수 있습니다. 이 오류는 주로 텐서 간의 행렬 곱셈 연산(torch.mm 또는 @)이나 다른 여러 텐서를 사용하는 연산을 수행할 때 발생합니다. 이 문제를 해결하는 방법은 다음과 같습니다 1. 텐서와 그들의 디바이스 식별 먼저, 오류를 일으키는 연산에 관련된 텐서가 무엇인지, 그리고 그들이 어느 디바이스에 위치해 있는지 확인해야 합니다. 텐서의 디바이스를..