728x90

Huggingface, Transformers 등 사용하다 보면, 나는 인자를 잘 주고 있는 것 같은데 warning 이 뜨는 경우가 많다

 

보통 이러한 오픈 소스들에서는 logger를 사용하여 warning을 사용자에게 출력시키는데 계속 반복되면서 출력되면 학습 진행률을 보기가 힘들다

 

아래처럼 간단하게 3줄로 처리가 가능하다

 

import logging
logging.disable(logging.INFO) # disable INFO and DEBUG logging everywhere
logging.disable(logging.WARNING) # disable WARNING, INFO and DEBUG logging everywhere

 

main.py 맨 상단에 이렇게 코드를 넣어두면, 연결된 모든 library 에서도 자동적으로 logger를 turn off 해준다

 

728x90

'Program > Python' 카테고리의 다른 글

pip freeze path 문제  (0) 2023.06.22
numpy를 이용한 연속적인 중복값 제거  (0) 2021.01.22
ImportError: cannot import name 'main' pip  (0) 2019.10.08
pip와 pip3 차이  (2) 2018.04.12
Ubuntu Python2, Python3 버전 관련  (0) 2018.04.12
728x90

보유한 python library가 다음과 같을 때:

 

numpy==1.19.0
packaging==20.4
pandas @ file:///opt/concourse/worker/volumes/live/38d1301c-8fa9-4d2f-662e-34dddf33b183/volume/pandas_1592841668171/work
pandocfilters==1.4.2

 

그대로 pip freeze > ./requirements.txt

하면 path 문제로 설치가 안될 수 있음

 

이를 해결하기 위해

 

pip list --format=freeze > requirements.txt

 

를 입력하면 해결 가능함

728x90
728x90

입력 가정

 

a = [1, 1, 2, 2, 2, 3, 3, 3, 1, 3, 4, 3, 3, 2, 2, 0] 
b = [2, 2, 3, 3, 4, 4, 5, 1, 1, 1, 2, 2, 5, 5, 7, 3, 0]

 

위와 같은 값이 있을 때, 전체 array에서 중복되는 값이 아닌 [1, 1] ==> [1] 로 만들고 싶다면 아래와 같이 하면 됨

import numpy as np


def del_over(array):
    
    return array[array != np.r_[array[1:], None]]

a = [1, 1, 2, 2, 2, 3, 3, 3, 1, 3, 4, 3, 3, 2, 2, 0]
a = np.asarray(a)
b = [2, 2, 3, 3, 4, 4, 5, 1, 1, 1, 2, 2, 5, 5, 7, 3, 0]
b = np.asarray(b)

print('origin input a = ', a) # origin input
a_a = del_over(a)
print('modified input a = ', a_a) # modified

print('origin input b = ', b) # origin input
b_b = del_over(b)
print('modified input b = ', b_b) # modified


 

결과 화면

 

728x90

'Program > Python' 카테고리의 다른 글

python logger 끄는 법 - turn off logging  (0) 2024.02.20
pip freeze path 문제  (0) 2023.06.22
ImportError: cannot import name 'main' pip  (0) 2019.10.08
pip와 pip3 차이  (2) 2018.04.12
Ubuntu Python2, Python3 버전 관련  (0) 2018.04.12
728x90

Ubuntu LTS 16.04에서 pip3 을 통해 matplotlib을 설치하려면, pip를 업데이트 하라고 나오는데,

 

업데이트를 하게 되면, 아래와 같은 에러가 생긴다.

 

File "/usr/bin/pip3", line 9, in <module>

from pip import main

ImportError: cannot import name 'main'

위의 에러를 해결하려면 아래의 명령어를 이용하여 다시 설치해야 된다.

 

sudo python3 -m pip uninstall pip && sudo apt-get install python3-pip --reinstall

 

추가적으로, matplotlib의 버전을 3.0.3을 설치하게 된다면 문제가 없다...(python3.5, Ubuntu16.04, pip3 기본 버전)

 

pip3 install --user matplotlib==3.0.3

 

728x90

'Program > Python' 카테고리의 다른 글

python logger 끄는 법 - turn off logging  (0) 2024.02.20
pip freeze path 문제  (0) 2023.06.22
numpy를 이용한 연속적인 중복값 제거  (0) 2021.01.22
pip와 pip3 차이  (2) 2018.04.12
Ubuntu Python2, Python3 버전 관련  (0) 2018.04.12
728x90

먼저 pip란 Python으로 작성된 package software를 install & uninstall 하는 package management system이다.


Python Package Index (PyPI)에서 많은 Python package를 찾을 수 있다.


package 설치 및 제거를 쉽게 할 수 있는데,


설치시

pip install some-package-name


제거시

pip uninstall some-package-name


이 때 pip와 pip3가 존재하는데, 두 개의 차이를 간단하게 설명하면 다음과 같다.


pip : python2 버전


pip3 : python3 버전



가령, python3 버전으로 tensorflow-gpu를 설치하고 싶으면 다음과 같이 하면 된다.



sudo pip3 install tensorflow-gpu



Python package 중 pip3 install ~~ 만 해도 되는 것들이 많지만,


tensorflow-gpu는 반드시 sudo 로 설치를 추천한다.


수정합니다. pip3 install --user tensorflow-gpu 로 10대 이상의 server에 설치하여 사용해보아도 아무문제 없습니다. 공용으로 사용하실 것이면 sudo 설치를 피해주세요.

728x90
728x90

일반적으로 우분투를 설치하자마자 커맨드창에 python을 입력하면


python2.7 버전이 뜬다.


이를 3버전으로 바꾸고 싶으면


1. vi ~/.bashrc 입력


2. 맨 아래에 


alias python='/usr/bin/python3'


입력


3. 저장 후 source ~/.bashrc 입력


커맨드 창에 python 입력하면 python3.5로 변경 됨



python3이 설치되어 있지 않다면 설치해준 뒤 위의 작업 진행

728x90

'Program > Python' 카테고리의 다른 글

python logger 끄는 법 - turn off logging  (0) 2024.02.20
pip freeze path 문제  (0) 2023.06.22
numpy를 이용한 연속적인 중복값 제거  (0) 2021.01.22
ImportError: cannot import name 'main' pip  (0) 2019.10.08
pip와 pip3 차이  (2) 2018.04.12

+ Recent posts