summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 08:43:43 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 08:43:43 +0000
commitb7d81378990c636f7bf537bb954071d8399cf6fc (patch)
tree4bd9f2af94a192b298e3e69a79f7db56fa9c8c23
parente5120151378aae744e2c921e9c8d1ab3d3890065 (diff)
automatic import of python-dpmmpython-traxopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-dpmmpython-trax.spec361
-rw-r--r--sources1
3 files changed, 363 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..199ebd2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/dpmmpython_trax-0.1.5.tar.gz
diff --git a/python-dpmmpython-trax.spec b/python-dpmmpython-trax.spec
new file mode 100644
index 0000000..f9b39bf
--- /dev/null
+++ b/python-dpmmpython-trax.spec
@@ -0,0 +1,361 @@
+%global _empty_manifest_terminate_build 0
+Name: python-dpmmpython-trax
+Version: 0.1.5
+Release: 1
+Summary: Python wrapper for DPMMSubClusters julia package
+License: MIT
+URL: https://github.com/dinarior/dpmmpython_trax
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/95/55/34b8dd6097c6c466d6b71f07a556bcbe997bb49a74b5e38424b211c4ba3d/dpmmpython_trax-0.1.5.tar.gz
+BuildArch: noarch
+
+Requires: python3-julia
+Requires: python3-wget
+Requires: python3-numpy
+Requires: python3-numpy
+Requires: python3-ipython
+Requires: python3-pytest
+Requires: python3-mock
+
+%description
+<br>
+<p align="center">
+<img src="https://www.cs.bgu.ac.il/~dinari/images/clusters_low_slow.gif" alt="DPGMM SubClusters 2d example">
+</p>
+
+## DPMMSubClusters
+
+This package is a Python wrapper for the [DPMMSubClusters.jl](https://github.com/BGU-CS-VIL/DPMMSubClusters.jl) Julia package.<br>
+
+### Motivation
+
+Working on a subset of 100K images from ImageNet, containing 79 classes, we have created embeddings using [SWAV](https://github.com/facebookresearch/swav), and reduced the dimension to 128 using PCA. We have compared our method with the popular scikit-learn [GMM](https://scikit-learn.org/stable/modules/generated/sklearn.mixture.GaussianMixture.html) and [DPGMM](https://scikit-learn.org/stable/modules/generated/sklearn.mixture.BayesianGaussianMixture.html) with the following results:
+<p align="center">
+
+| Method | Timing (sec) | NMI (higher is better) |
+|-----------------------------------------------------|--------------|------------------------|
+| *Scikit-learn's GMM* (using EM, and given the True K) | 2523 | 0.695 |
+| *Scikit-learn's DPGMM* | 6108 | 0.683 |
+| DPMMpython | 475 | 0.705 |
+
+</p>
+
+
+### Installation
+
+```
+pip install dpmmpython
+```
+
+If you already have Julia installed, install [PyJulia](https://github.com/JuliaPy/pyjulia) and add the package `DPMMSubClusters` to your julia installation. <p>
+<p>
+Make sure Julia path is configured correctly, e.g. you should be able to run julia by typing `julia` from the terminal, unless configured properly, PyJulia wont work.
+
+
+**Installation Shortcut for Ubuntu distributions** <br>
+If you do not have Julia installed, or wish to create a clean installation for the purpose of using this package. after installing (with pip), do the following:
+
+```
+import dpmmpython
+dpmmpython.install()
+```
+Optional arguments are `install(julia_download_path = 'https://julialang-s3.julialang.org/bin/linux/x64/1.4/julia-1.4.0-linux-x86_64.tar.gz', julia_target_path = None)`, where the former specify the julia download file, and the latter the installation path, if the installation path is not specified, `$HOME$/julia` will be used.<br>
+As the `install()` command edit your `.bashrc` path, before using the pacakge, the terminal should either be reset, or modify the current environment according to the julia path you specified (`$HOME$/julia/julia-1.4.0/bin` by default).
+
+### Usage Example:
+
+```
+from dpmmpython.dpmmwrapper import DPMMPython
+from dpmmpython.priors import niw
+import numpy as np
+
+data,gt = DPMMPython.generate_gaussian_data(10000, 2, 10, 100.0)
+prior = niw(1,np.zeros(2),4,np.eye(2))
+labels,_,sub_labels= DPMMPython.fit(data,100,prior = prior,verbose = True, gt = gt)
+```
+```
+Iteration: 1 || Clusters count: 1 || Log posterior: -71190.14226686998 || Vi score: 1.990707323192506 || NMI score: 6.69243345834295e-16 || Iter Time:0.004499912261962891 || Total time:0.004499912261962891
+Iteration: 2 || Clusters count: 1 || Log posterior: -71190.14226686998 || Vi score: 1.990707323192506 || NMI score: 6.69243345834295e-16 || Iter Time:0.0038819313049316406 || Total time:0.008381843566894531
+...
+Iteration: 98 || Clusters count: 9 || Log posterior: -40607.39498126549 || Vi score: 0.11887067921133423 || NMI score: 0.9692247699387838 || Iter Time:0.015907764434814453 || Total time:0.5749104022979736
+Iteration: 99 || Clusters count: 9 || Log posterior: -40607.39498126549 || Vi score: 0.11887067921133423 || NMI score: 0.9692247699387838 || Iter Time:0.01072382926940918 || Total time:0.5856342315673828
+Iteration: 100 || Clusters count: 9 || Log posterior: -40607.39498126549 || Vi score: 0.11887067921133423 || NMI score: 0.9692247699387838 || Iter Time:0.010260820388793945 || Total time:0.5958950519561768
+```
+
+You can modify the number of processes by using `DPMMPython.add_procs(procs_count)`, note that you can only scale it upwards.
+
+#### Additional Examples:
+[Clustering](https://nbviewer.jupyter.org/github/BGU-CS-VIL/dpmmpython/blob/master/examples/clustering_example.ipynb)
+<br>
+[Multi-Process](https://nbviewer.jupyter.org/github/BGU-CS-VIL/dpmmpython/blob/master/examples/multi_process.ipynb)
+
+
+#### Python 3.8
+Due to recent issue with the package used as interface between Julia and Python https://github.com/JuliaPy/pyjulia/issues/425 , there might be problems working with Python >= 3.8.
+
+### Misc
+
+For any questions: dinari@post.bgu.ac.il
+
+Contributions, feature requests, suggestion etc.. are welcomed.
+
+If you use this code for your work, please cite the following:
+
+```
+@inproceedings{dinari2019distributed,
+ title={Distributed MCMC Inference in Dirichlet Process Mixture Models Using Julia},
+ author={Dinari, Or and Yu, Angel and Freifeld, Oren and Fisher III, John W},
+ booktitle={2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID)},
+ pages={518--525},
+ year={2019}
+}
+```
+
+
+
+
+%package -n python3-dpmmpython-trax
+Summary: Python wrapper for DPMMSubClusters julia package
+Provides: python-dpmmpython-trax
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-dpmmpython-trax
+<br>
+<p align="center">
+<img src="https://www.cs.bgu.ac.il/~dinari/images/clusters_low_slow.gif" alt="DPGMM SubClusters 2d example">
+</p>
+
+## DPMMSubClusters
+
+This package is a Python wrapper for the [DPMMSubClusters.jl](https://github.com/BGU-CS-VIL/DPMMSubClusters.jl) Julia package.<br>
+
+### Motivation
+
+Working on a subset of 100K images from ImageNet, containing 79 classes, we have created embeddings using [SWAV](https://github.com/facebookresearch/swav), and reduced the dimension to 128 using PCA. We have compared our method with the popular scikit-learn [GMM](https://scikit-learn.org/stable/modules/generated/sklearn.mixture.GaussianMixture.html) and [DPGMM](https://scikit-learn.org/stable/modules/generated/sklearn.mixture.BayesianGaussianMixture.html) with the following results:
+<p align="center">
+
+| Method | Timing (sec) | NMI (higher is better) |
+|-----------------------------------------------------|--------------|------------------------|
+| *Scikit-learn's GMM* (using EM, and given the True K) | 2523 | 0.695 |
+| *Scikit-learn's DPGMM* | 6108 | 0.683 |
+| DPMMpython | 475 | 0.705 |
+
+</p>
+
+
+### Installation
+
+```
+pip install dpmmpython
+```
+
+If you already have Julia installed, install [PyJulia](https://github.com/JuliaPy/pyjulia) and add the package `DPMMSubClusters` to your julia installation. <p>
+<p>
+Make sure Julia path is configured correctly, e.g. you should be able to run julia by typing `julia` from the terminal, unless configured properly, PyJulia wont work.
+
+
+**Installation Shortcut for Ubuntu distributions** <br>
+If you do not have Julia installed, or wish to create a clean installation for the purpose of using this package. after installing (with pip), do the following:
+
+```
+import dpmmpython
+dpmmpython.install()
+```
+Optional arguments are `install(julia_download_path = 'https://julialang-s3.julialang.org/bin/linux/x64/1.4/julia-1.4.0-linux-x86_64.tar.gz', julia_target_path = None)`, where the former specify the julia download file, and the latter the installation path, if the installation path is not specified, `$HOME$/julia` will be used.<br>
+As the `install()` command edit your `.bashrc` path, before using the pacakge, the terminal should either be reset, or modify the current environment according to the julia path you specified (`$HOME$/julia/julia-1.4.0/bin` by default).
+
+### Usage Example:
+
+```
+from dpmmpython.dpmmwrapper import DPMMPython
+from dpmmpython.priors import niw
+import numpy as np
+
+data,gt = DPMMPython.generate_gaussian_data(10000, 2, 10, 100.0)
+prior = niw(1,np.zeros(2),4,np.eye(2))
+labels,_,sub_labels= DPMMPython.fit(data,100,prior = prior,verbose = True, gt = gt)
+```
+```
+Iteration: 1 || Clusters count: 1 || Log posterior: -71190.14226686998 || Vi score: 1.990707323192506 || NMI score: 6.69243345834295e-16 || Iter Time:0.004499912261962891 || Total time:0.004499912261962891
+Iteration: 2 || Clusters count: 1 || Log posterior: -71190.14226686998 || Vi score: 1.990707323192506 || NMI score: 6.69243345834295e-16 || Iter Time:0.0038819313049316406 || Total time:0.008381843566894531
+...
+Iteration: 98 || Clusters count: 9 || Log posterior: -40607.39498126549 || Vi score: 0.11887067921133423 || NMI score: 0.9692247699387838 || Iter Time:0.015907764434814453 || Total time:0.5749104022979736
+Iteration: 99 || Clusters count: 9 || Log posterior: -40607.39498126549 || Vi score: 0.11887067921133423 || NMI score: 0.9692247699387838 || Iter Time:0.01072382926940918 || Total time:0.5856342315673828
+Iteration: 100 || Clusters count: 9 || Log posterior: -40607.39498126549 || Vi score: 0.11887067921133423 || NMI score: 0.9692247699387838 || Iter Time:0.010260820388793945 || Total time:0.5958950519561768
+```
+
+You can modify the number of processes by using `DPMMPython.add_procs(procs_count)`, note that you can only scale it upwards.
+
+#### Additional Examples:
+[Clustering](https://nbviewer.jupyter.org/github/BGU-CS-VIL/dpmmpython/blob/master/examples/clustering_example.ipynb)
+<br>
+[Multi-Process](https://nbviewer.jupyter.org/github/BGU-CS-VIL/dpmmpython/blob/master/examples/multi_process.ipynb)
+
+
+#### Python 3.8
+Due to recent issue with the package used as interface between Julia and Python https://github.com/JuliaPy/pyjulia/issues/425 , there might be problems working with Python >= 3.8.
+
+### Misc
+
+For any questions: dinari@post.bgu.ac.il
+
+Contributions, feature requests, suggestion etc.. are welcomed.
+
+If you use this code for your work, please cite the following:
+
+```
+@inproceedings{dinari2019distributed,
+ title={Distributed MCMC Inference in Dirichlet Process Mixture Models Using Julia},
+ author={Dinari, Or and Yu, Angel and Freifeld, Oren and Fisher III, John W},
+ booktitle={2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID)},
+ pages={518--525},
+ year={2019}
+}
+```
+
+
+
+
+%package help
+Summary: Development documents and examples for dpmmpython-trax
+Provides: python3-dpmmpython-trax-doc
+%description help
+<br>
+<p align="center">
+<img src="https://www.cs.bgu.ac.il/~dinari/images/clusters_low_slow.gif" alt="DPGMM SubClusters 2d example">
+</p>
+
+## DPMMSubClusters
+
+This package is a Python wrapper for the [DPMMSubClusters.jl](https://github.com/BGU-CS-VIL/DPMMSubClusters.jl) Julia package.<br>
+
+### Motivation
+
+Working on a subset of 100K images from ImageNet, containing 79 classes, we have created embeddings using [SWAV](https://github.com/facebookresearch/swav), and reduced the dimension to 128 using PCA. We have compared our method with the popular scikit-learn [GMM](https://scikit-learn.org/stable/modules/generated/sklearn.mixture.GaussianMixture.html) and [DPGMM](https://scikit-learn.org/stable/modules/generated/sklearn.mixture.BayesianGaussianMixture.html) with the following results:
+<p align="center">
+
+| Method | Timing (sec) | NMI (higher is better) |
+|-----------------------------------------------------|--------------|------------------------|
+| *Scikit-learn's GMM* (using EM, and given the True K) | 2523 | 0.695 |
+| *Scikit-learn's DPGMM* | 6108 | 0.683 |
+| DPMMpython | 475 | 0.705 |
+
+</p>
+
+
+### Installation
+
+```
+pip install dpmmpython
+```
+
+If you already have Julia installed, install [PyJulia](https://github.com/JuliaPy/pyjulia) and add the package `DPMMSubClusters` to your julia installation. <p>
+<p>
+Make sure Julia path is configured correctly, e.g. you should be able to run julia by typing `julia` from the terminal, unless configured properly, PyJulia wont work.
+
+
+**Installation Shortcut for Ubuntu distributions** <br>
+If you do not have Julia installed, or wish to create a clean installation for the purpose of using this package. after installing (with pip), do the following:
+
+```
+import dpmmpython
+dpmmpython.install()
+```
+Optional arguments are `install(julia_download_path = 'https://julialang-s3.julialang.org/bin/linux/x64/1.4/julia-1.4.0-linux-x86_64.tar.gz', julia_target_path = None)`, where the former specify the julia download file, and the latter the installation path, if the installation path is not specified, `$HOME$/julia` will be used.<br>
+As the `install()` command edit your `.bashrc` path, before using the pacakge, the terminal should either be reset, or modify the current environment according to the julia path you specified (`$HOME$/julia/julia-1.4.0/bin` by default).
+
+### Usage Example:
+
+```
+from dpmmpython.dpmmwrapper import DPMMPython
+from dpmmpython.priors import niw
+import numpy as np
+
+data,gt = DPMMPython.generate_gaussian_data(10000, 2, 10, 100.0)
+prior = niw(1,np.zeros(2),4,np.eye(2))
+labels,_,sub_labels= DPMMPython.fit(data,100,prior = prior,verbose = True, gt = gt)
+```
+```
+Iteration: 1 || Clusters count: 1 || Log posterior: -71190.14226686998 || Vi score: 1.990707323192506 || NMI score: 6.69243345834295e-16 || Iter Time:0.004499912261962891 || Total time:0.004499912261962891
+Iteration: 2 || Clusters count: 1 || Log posterior: -71190.14226686998 || Vi score: 1.990707323192506 || NMI score: 6.69243345834295e-16 || Iter Time:0.0038819313049316406 || Total time:0.008381843566894531
+...
+Iteration: 98 || Clusters count: 9 || Log posterior: -40607.39498126549 || Vi score: 0.11887067921133423 || NMI score: 0.9692247699387838 || Iter Time:0.015907764434814453 || Total time:0.5749104022979736
+Iteration: 99 || Clusters count: 9 || Log posterior: -40607.39498126549 || Vi score: 0.11887067921133423 || NMI score: 0.9692247699387838 || Iter Time:0.01072382926940918 || Total time:0.5856342315673828
+Iteration: 100 || Clusters count: 9 || Log posterior: -40607.39498126549 || Vi score: 0.11887067921133423 || NMI score: 0.9692247699387838 || Iter Time:0.010260820388793945 || Total time:0.5958950519561768
+```
+
+You can modify the number of processes by using `DPMMPython.add_procs(procs_count)`, note that you can only scale it upwards.
+
+#### Additional Examples:
+[Clustering](https://nbviewer.jupyter.org/github/BGU-CS-VIL/dpmmpython/blob/master/examples/clustering_example.ipynb)
+<br>
+[Multi-Process](https://nbviewer.jupyter.org/github/BGU-CS-VIL/dpmmpython/blob/master/examples/multi_process.ipynb)
+
+
+#### Python 3.8
+Due to recent issue with the package used as interface between Julia and Python https://github.com/JuliaPy/pyjulia/issues/425 , there might be problems working with Python >= 3.8.
+
+### Misc
+
+For any questions: dinari@post.bgu.ac.il
+
+Contributions, feature requests, suggestion etc.. are welcomed.
+
+If you use this code for your work, please cite the following:
+
+```
+@inproceedings{dinari2019distributed,
+ title={Distributed MCMC Inference in Dirichlet Process Mixture Models Using Julia},
+ author={Dinari, Or and Yu, Angel and Freifeld, Oren and Fisher III, John W},
+ booktitle={2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID)},
+ pages={518--525},
+ year={2019}
+}
+```
+
+
+
+
+%prep
+%autosetup -n dpmmpython-trax-0.1.5
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-dpmmpython-trax -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.5-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..e270b5c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e778abb6535f1184eeaf409459f1f91e dpmmpython_trax-0.1.5.tar.gz