파이썬

파이썬

[파이썬] 도커 컨테이너 정보 출력

import docker 필요한 라이브러리 임포트 (https://docker-py.readthedocs.io/en/stable) def add_unit(mem: float) -> str: if mem > 1024**3: mem = round(mem / 1024**3, 2) mem = f"{mem}GiB" elif mem > 1024**2: mem = round(mem / 1024**2, 2) mem = f"{mem}MiB" elif mem > 1024: mem = round(mem / 1024, 2) mem = f"{mem}KiB" else: mem = round(mem, 2) mem = f"{mem}Byte" return mem 데이터 단위를 붙여주기 위한 함수 client = docker.Docke..

파이썬

[파이썬] GPU 정보 출력

import GPUtil 필요한 라이브러리 임포트 (https://github.com/anderskm/gputil) def add_unit(mem: float) -> str: if mem > 1024: mem = round(mem / 1024, 2) mem = f"{mem}GiB" else: mem = round(mem, 2) mem = f"{mem}MiB" return mem 데이터 단위를 붙여주기 위한 함수 for gpu in GPUtil.getGPUs(): gpu_util = f"{gpu.load}%" mem_total = add_unit(gpu.memoryTotal) mem_used = add_unit(gpu.memoryUsed) mem_used_percent = f"{round(gpu.memor..

파이썬

[파이썬] Selenium과 Threading을 이용하여 구글 이미지 크롤링

import os import re import time import socket from urllib.request import urlretrieve from urllib.error import HTTPError, URLError from selenium import webdriver from selenium.common.exceptions import ( ElementClickInterceptedException, NoSuchElementException, ElementNotInteractableException, ) from PIL import Image from pygame import mixer from datetime import date from concurrent.futures import..

파이썬

[파이썬] 멀티 쓰레드 정리

멀티 쓰레드를 사용한다고 싱글 쓰레드에 비해서 무조건 작업 속도가 빨라지지 않는다. 이유는 파이썬의 GIL(Global Interpreter Lock) 때문인데, 다른 블로그의 글을 인용하자면 CPython에서의 GIL은 Python 코드(bytecode)를 실행할 때에 여러 thread를 사용할 경우, 단 하나의 thread만이 Python object에 접근할 수 있도록 제한하는 mutex이다. 그리고 이 lock이 필요한 이유는 CPython이 메모리를 관리하는 방법이 thread-safeness하기 때문이다. 결국 같은 시간에 실행되는 쓰레드는 무조건 1개이며, 멀티 쓰레드는 GIL이 적용되지 않는 즉, CPU 동작이 아닌 I/O 동작이 많은 프로그램에 구현했을 때 가장 이상적이다. 그렇다면 왜 ..

파이썬

[파이썬] doc2vec 모델 학습, 저장 및 불러오기

def save_model(tokenize, epochs, min_alpha, corpus_list, model_name): # Mecab tagger = Mecab() # corpus 저장 리스트 tagged_corpus_list = [] # corpus 생성 (TaggedDocument 추가) for corpus in corpus_list: # 태그 tag = corpus[0] # 내용 word = corpus[1] # tokenize에 따라 다른 방법으로 Word Tokenize if tokenize == 'morphs': tagged_corpus_list.append(doc2vec.TaggedDocument(tags=[tag], words=tagger.morphs(word))) elif token..

IntegerString
'파이썬' 카테고리의 글 목록