2) Tech
-
[Python] 실시간 Data 처리기-2 (window os 환경)2) Tech 2022. 3. 16. 10:39
지난 포스팅(technical-support.tistory.com/110) 에서는 파일 저장 Process와 처리 Process를 나누어서 파일이 저장됐을 때를 확인하고 저장된 파일을 처리하는 방식으로 진행 했었습니다. 그러다 보니 파일 개수에 의존하게 되고, 만약 코드 실행 마지막 파일에 경우 처리 하지 못하는 코드였고 그래서 실시간으로 들어오는 유효한 data를 list에 쌓아 놓고 모두 들어왔을때 쌓인 list를 처리하는 방식으로 수정했습니다!!. 하지만, 그렇게 하기위해선 송신부에서 '유효 or 유효 X' 와 같은 제어 시점을 알려주는 값을 보내줘야 했습니다. 1. 수신부 packet size value 추가 def packet_recv_process(PORT, transmit_ready, con..
-
Linux에서 Anaconda conda activate이 실행 되지 않을 때2) Tech 2021. 8. 10. 18:51
Linux Anaconda 사용중 내가 만든 환경으로 Activation이 되지않을 때가 있다. 가상환경 list에서 확인시에는 환경이 존재하지만, Acivation이 안된다.. 다음과 같은 Error가 뜬다. CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. To initialize your shell, run ▶ 해결방법 아주 간단한 명령어로 해결가능함. $ source ~/anaconda3/etc/profile.d/conda.sh (~ 부분에는 linux내 anaconda3 경로를 입력해주면 된다.) 끝입니다. 읽어주셔서 감사합니다.
-
[Python] 실시간 Data 처리기(window os 환경)2) Tech 2021. 1. 8. 16:46
요즘 신호data를 쌓고 있습니다. 그런데 아무래도 window 환경이라 data 수집 후 직접 축적된 data를 다시 가져와서 처리하는 과정이 굉장히 번거로워서 미루고 미루던 실시간 처리기를 만들어 봤습니다.. 급하게 만들어서 부족한 부분이 있겠지만, 여기 올리면 조언도 좀 받을 수 있을거 같아서 올리기로 했어요. (Test 해봤을 때는 잘동작되네요!) python multiprocessing을 사용하여 raw data save process와 저장된 data를 불러와서 처리하는 process를 생성했습니다. 때문에 data 처리를 하려면 두 프로세스가 data directory를 공유해야합니다. 그런데 막상 문자열을 공유해야하다보니 생각한대로 되지않아, 조금 지저분한 방법을 사용했네요..! 먼저 fi..
-
[Python] FFT 0Hz Peak 제거 하기, DC 성분 제거하기2) Tech 2020. 11. 26. 14:57
안녕하세요! 오늘은 Python에서 FFT 를 진행하였을때 0Hz Peak를 제거하는 방법을 소개하려 합니다. AC 전류 값을 취득하는 센서의 신호를 받아서 FFT를 진행했더니 아래 그림과 같이 0Hz에서 amplitude가 굉장히 크게 나타납니다. 이유는 보통 모든 신호는 AC + DC 로 이루어 집니다. 그런데 전달하려는 AC신호는 극히 작기 때문에 내부 회로에서 증폭이 이루어 지게 되죠! 이때 DC 신호도 함께 증폭이 되므로 아래와 같은 결과가 나타나는 겁니다. 그렇다면 DC 성분을 최소화 시켜 보겠습니다! import numpy as np from scipy.signal import detrend dc_remove_signal = original_signal - np.mean(original_si..
-
[Python] USB Serial Communication(USB 시리얼 통신)2) Tech 2020. 11. 24. 21:35
import serial import serial.tools.list_ports as sp list = sp.comports() connected = [] ## PC 연결된 COM Port 정보를 list에 넣어 확인한다. for i in list: connected.append(i.device) print("Connected COM ports: " + str(connected)) # ser = serial.Serial("COM5", 9600,timeout=1) # if ser.readable(): # res = ser.readline() # print(res.decode()[:len(res)-1]) # baudrate 정보와 연결할 COM Port 이름을 입력한다. select_comport = inp..
-
[Pytorch Tip!] 파이토치 GPU 사용 설정2) Tech 2020. 9. 23. 16:53
cuda를 version에 맞게 setting 해주었다면, 사용을 해봐야겠죠? 이번시간에는 간단하게 파이토치에서 GPU를 사용가능하도록 하는 명령어를 소개하겠습니다. # pytorch gpu 사용법 import torch USE_CUDA = torch.cuda.is_available() print(USE_CUDA) device = torch.device('cuda:0' if USE_CUDA else 'cpu') print('학습을 진행하는 기기:',device) 만약 cuda 설정이 안되어있다면, 옆 이미지와 같이 cpu로 결과가 나오겠죠? 이러한 결과가 나와야 gpu사용이 가능한겁니다!! 이제, 위에서 선언한 device가 GPU로 설정되었습니다. 설정된 device에 대한 정보를 확인해보겠습니다. p..
-
[PyTorch Study]Tensor 자료형 사이즈 및 차원 변경2) Tech 2020. 9. 23. 09:04
PyTorch Study 세번째 시간입니다!! 지난 게시물에 이어 Pytorch Tensor 자료형 응용 2번째 시간입니다. 1. Tensor 자료형 사이즈 변경 # pytorch reshape, view 사용법 import torch t1 = torch.tensor([1,2,3,4,5,6]) print( t1, '\n') t2 = t1.view(2, 3) print( t2, '\n') print( t1.reshape(2,3), '\n') 위 코드의 출력을 보시면 reshape, view 의 역할이 감이 오실겁니다! - torch.tensor().reshape, view : Tensor 자료형의 사이즈 및 차원 변경시 사용 굉장히 많이 사용되므로 사용법을 잘알아 두셔야합니다. 이번에는 차원변경 예시를 함..
-
[PyTorch Study]Tensor 자료형 연산2) Tech 2020. 9. 23. 08:18
PyTorch Study 두번째 시간입니다!! 오늘은 Pytorch Tensor 자료형 연산에 대해 알아보겠습니다. tensor 자료형 연산은 numpy ndarray 연산과 유사한점이 굉장히 많습니다. 1. tensor 자료형 연산 # 덧셈 뺄셈, 제곱 import torch t1 = torch.tensor([1,2,3]) t2 = torch.tensor([5,6,7]) t3 = t1+10 t4 = t1 - t2 print(t3, '\n') print(t2**2) print('\n', t4) 보시면 tensor 자료형으로 덧셈, 뺄셈, 제곱 연산이 가능합니다. # Broad casting t1 = torch.tensor([1,2,3]) t5 = torch.tensor([[10, 20, 30], [40,..