분석 Python/Packages(18)
-
Poetry) poetry를 사용하여 외부/내부 repository의 의존성을 고려하여 패키지 목록 관리 및 다운로드 하기
패키지 개발을 할 때 잘 안 되는 점 중에서 하나는 다른 환경에서 동일하게 설치할 경우 설치가 잘 안 되는 경우가 있다.항상 패키지를 설치하다보면 내 환경에서는 되지만 다른 사람에게 해당하는 경우를 전달해도, 다른 의존성으로 인해 설치가 안 되는 경우를 자주 경험했다. 그리고 내부 레포지토리가 있고 외부 레포지토리 2개가 있을 경우에도 우선적으로는 내부 레포지토리를 기반으로 의존성이 나오면 좋겠으면 고민했다가 해당 방식으로 하면 괜찮을 것 같아서 공유한다. 괜찮을 것 같다고 한 것은 실제로 테스트를 많이 해보지 않아서 다른 사람들에게는 안될 수 있기 때문이다.개선 사항이 있다면 댓글에 남겨주시면 반영해보겠다! 참고로 필자는 poetry를 많이 사용하지 않아서 다른 디테일한 설정을 잘 몰라서... 알려주시..
2024.06.22 -
feast) FileSource 사용 방법(여러개 파일)
FileSource를 하기 위해서는 timestamp_field를 설정해야 함 다중 파일들을 커버하기 위해서는 *.parquet 으로 해야함. 0.26 버전임 class FileSource(DataSource): def __init__( self, *, path: str, name: Optional[str] = "", event_timestamp_column: Optional[str] = "", file_format: Optional[FileFormat] = None, created_timestamp_column: Optional[str] = "", field_mapping: Optional[Dict[str, str]] = None, s3_endpoint_override: Optional[str] = N..
2022.10.18 -
Python) pregex 로 편하게 정규 표현식 사용하기
텍스트에서 원하는 부분을 추출하기 위해서 정규표현식을 작성하는데, 고수들은 다 잘할 것이겠지만, 좀 더 편하게 하는 패키지를 찾은 것 같아서 테스트도 해볼 겸 작성한다. 소개할 패키지는 pregex라는 패키지이다. 사람 친화적인 방식으로 정규 표현식을 쓸 수 있어서 가독성 면에서나 활용면에서 쓸만해보인다. 문제는 파이썬 3.9 이상부터 지원된다는 것이라서, 이번 기회에 기존 유저들은 자연스럽게 파이썬 버전을 올리면 좋을 것 같다 ㅎㅎ 설치 방법 파이썬 3.9 이상 pip install pregex 파이썬 예시 간단한 URL 찾기 아래 TEXT에서 URL을 찾는 행위를 한다고 해보자. 그것을 일반적으로 찾으려고 하면, 위의 그림처럼 복잡하게 코딩을 해야 하고, 의도를 파악하기 위해서는 만든 사람의 설명이 ..
2022.07.30 -
Python) pipreqs - 특정 폴더안에 있는 파이썬 패키지를 requirements.txt 만들어주는 패키지
유용하니까 사용하자. 몇 번 사용하였을 때 여러 장점이 있지만, pipereqs를 설치했지만 이 설치한 항목에 대해서는 requirements.txt 에 보이지가 않는다. 설치 pip install pipreqs 실행 경로를 설정하면 특정 경로에 패키지가 설치가 된다. 여기서는 예를 들어 /home/project/location/requirements.txt 로 있을 것이다. pipreqs /home/project/location 이거 말고 poetry도 있는 것 같기는 한데, 그것은 파이썬 버전까지 해서 관리할 수 있는 것 같은데 절차가 좀 있어서 간단하게 할 때는 이게 좋아보인다. 옵션 해보다보면, 리눅스에서는 잘 되는데, 윈도우에 잘 안되는 경우가 있다. 내가 겪은 문제는 인코딩이 문제였고, 다음과..
2021.10.13 -
python pkgs) pathlib 알아보기
목차 Working Directory Get a path to the current Python file curr_file = pathlib.Path(__file__) print(curr_file) Get a path to the current working directory cwd = pathlib.Path.cwd() print(cwd) Get a first parent folder path parent folder 찾기 one_above = pathlib.Path.cwd().parent print(one_above) Get an Nth parent folder path N번째 상위 폴더를 찾는 방법 mul_above = pathlib.Path.cwd().parent.parent.parent mul_a..
2021.09.22 -
python3) KeyError : 'PROJ_LIB' 문제 해결하기 (Basemap)
conda install -c conda-forge basemap-data-hires import os os.environ["PROJ_LIB"] = "/###/conda/envs/###(your env)/share/proj" os.environ["PROJ_LIB"] = os.path.join(os.environ["CONDA_PREFIX"], "share", "proj") 각자 사용하는 환경에서 proj 경로 맞춰주기 https://stackoverflow.com/questions/52295117/basemap-import-error-in-pycharm-keyerror-proj-lib Basemap import error in PyCharm — KeyError: 'PROJ_LIB' I tried to us..
2021.06.29 -
python3) basemap install in ubuntu 18.04
sudo apt update sudo apt install python3-mpltoolkits.basemap ## python3.8 conda install basemap conda install proj4
2021.06.29 -
Python Pkg) array를 gif로 바꿔주는 패키지
가끔 gif로 표현해야 하는 것들이 있다. 이때 보통 사진을 저장해서 gif로 만들었는데, 해당 패키지는 array를 저장해서 array를 이용해서 gif를 만들어준다. 아주 좋은 패키지인 것 같아 공유한다. 설치 방법 pip install array2gif 예제 코드 import numpy as np from array2gif import write_gif dataset = [ np.array([ [[255, 0, 0], [255, 0, 0]], # red intensities [[0, 255, 0], [0, 255, 0]], # green intensities [[0, 0, 255], [0, 0, 255]] # blue intensities ]), np.array([ [[0, 0, 255], [0, ..
2021.05.13 -
google에서 만든 NAS 패키지 Model Search
언젠가는 다시 볼 것 같아서 간단하게 정리된 것 참고하여 작성 기존의 어려움들 The challenges for implementing NAS are everywhere. For starters, there are not many NAS frameworks integrated into mainstream deep learning stacks such as TensorFlow or PyTorch. Also, many NAS implementation require a lot of domain expertise to start with a series of architectures that make sense for a given problem. Finally, NAS stacks are really exp..
2021.02.24 -
[PyGAD] Python 에서 Genetic Algorithm 을 사용해보기
파이썬에서 genetic algorithm을 사용하는 패키지들을 다 사용해보진 않았지만, 확장성이 있어 보이고, 시도할 일이 있어서 살펴봤다. 이 패키지에서 가장 인상 깊었던 것은 neural network에서 hyper parameter 탐색을 gradient descent 방식이 아닌 GA로도 할 수 있다는 것이다. 개인적으로 이 부분이 어느정도 초기치를 잘 잡아줄 수 있는 역할로도 쓸 수 있고, Loss가 gradient descent 하기 어려운 구조에서 대안으로 쓸 수 있을 것으로도 생각된다. 일단 큰 흐름은 다음과 같이 된다. 사실 완전히 흐름이나 각 parameter에 대한 이해는 부족한 상황 import pygad import numpy function_inputs = [4,-2,3.5,5..
2021.01.30 -
OR-Tools (Google Optimization Tools)
python에서 constraint 툴을 찾다가 발견함. combinatorial optimization에 사용할 수 있는 open source tool 여러 언어에서 제공하고 있는 것 같음! examples Root directory for all examples. contrib Examples from the community. cpp C++ examples. dotnet .Net examples. java Java examples. python Python examples. notebook Jupyter/IPython notebooks. flatzinc FlatZinc examples. data Data files for examples. tests Unit tests and bug reports...
2020.10.24 -
[Python] package 설치 및 인터넷 없이 설치하는 방법
이전에 dependency를 고려해서 패키지를 설치하려고 이상한 코드를 짠 것이 기억이 난다.. 찾아보니 pip download가 dependency를 고려해서 설치하는 것 같다. 문제라고 생각하는 점은 패키지들 간에 dependency는 고려해주진 않을 것 같다. 암튼 패키지 설치는 인터넷은 필요 암튼 아래 코드처럼 하면 tensorflow==1.14.0 에 해당하는 dependency를 다 설치할 수 있다. pip download tensorflow==1.14.0 -d D:\pip_download 이 방법 말고도 requirements.txt를 이용해서도 설치할 수 있다. pip download -r requirements.txt -d D:\pip_download 이렇게 하면 requirements...
2020.09.16