Module fait maison
pip install my_awesome_module
Pour le publier afin qu'il puisse être publié, vous pouvez le publier sur GitHub avec setup.py
GitHub page: https://github.com/kyohashi/model_selection
Je recherche un module dans PyPI (Python Package Index). Par exemple, si vous accédez à PyPI.org et recherchez numpy, ↓ https://pypi.org/
Certes, il est engourdi. ↓ https://pypi.org/search/?q=numpy
Lors de l'enregistrement d'un module dans PyPI, vous aurez besoin de setup.py
, qui représente les méta-informations du module, ainsi que le code source du module.
Pour résumer ce qui précède,
pip install hogehoge
setup.py
associé à hogehoge comme module de chargementVous pouvez comprendre que vous suivez la procédure.
Il s'avère que vous pouvez pip installer
en vous inscrivant auprès de PyPI, mais vous pouvez également le publier sur GitHub.
Le fait est que vous n'avez qu'à me dire le code source et l'emplacement de setup.py
, donc après vous être enregistré sur GitHub
pip install git+(URL)
Tout le monde peut l'installer. Cette fois, j'ai essayé de publier sur GitHub au lieu de PyPI.
Les fichiers enregistrés dans GitHub et setup.py
sont les suivants.
organisation des fichiers
.
├── README.md
├── requirements.txt
├── setup.py
└── src
└── model_selection
├── __init__.py
├── bayes_clustering.py
└── utils
├── __init__.py
└── check_datashape.py
setup.py
from glob import glob
from os.path import basename
from os.path import splitext
from setuptools import setup
from setuptools import find_packages
def _requires_from_file(filename):
return open(filename).read().splitlines()
setup(
name="model_selection",
version="0.1.0",
description="statistical model selection with Bayesian IC like WAIC",
author="kyohashi",
url="https://github.com/kyohashi/model_selection.git",
packages=find_packages("src"),
package_dir={"": "src"},
py_modules=[splitext(basename(path))[0] for path in glob('src/*.py')],
include_package_data=True,
zip_safe=False,
install_requires=_requires_from_file('requirements.txt')
)
Si vous regardez setup.py
, vous pouvez voir qu'il reconnaît le fichier python sous le dossier src comme un module.
Si vous enregistrez ce qui précède, tout ira bien
pip install git+https://github.com/kyohashi/model_selection.git
Est possible.
Le module créé cette fois a pour objectif d'aider à déterminer le nombre de clusters. Plus précisément, comme le montre la figure ci-dessous, le nombre optimal de clusters est estimé en modélisant et en calculant WAIC avec GMM pour tous les nombres de clusters candidats. PyMC3 est utilisé pour l'échantillonnage MCMC.
Il existe également un exemple de mise en œuvre pour Toy Data, veuillez donc vous y référer également. Usecase: https://kyohashi.github.io/model_selection/gmm_usecase.html
Recommended Posts