diff options
Diffstat (limited to 'python-objax.spec')
-rw-r--r-- | python-objax.spec | 397 |
1 files changed, 397 insertions, 0 deletions
diff --git a/python-objax.spec b/python-objax.spec new file mode 100644 index 0000000..bcef92c --- /dev/null +++ b/python-objax.spec @@ -0,0 +1,397 @@ +%global _empty_manifest_terminate_build 0 +Name: python-objax +Version: 1.7.0 +Release: 1 +Summary: Objax is a machine learning framework that provides an Object Oriented layer for JAX. +License: Apache Software License +URL: https://github.com/google/objax +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/bb/4f/dc2af2b8dfa76997fa65b9b261a63edd8c92badad2a12155f77792c24b48/objax-1.7.0.tar.gz +BuildArch: noarch + +Requires: python3-scipy +Requires: python3-numpy +Requires: python3-pillow +Requires: python3-jaxlib +Requires: python3-jax +Requires: python3-tensorboard +Requires: python3-parameterized + +%description +# Objax + +[**Tutorials**](https://objax.readthedocs.io/en/latest/notebooks/Objax_Basics.html) +| [**Install**](https://objax.readthedocs.io/en/latest/installation_setup.html) +| [**Documentation**](https://objax.readthedocs.io/en/latest/) +| [**Philosophy**](https://objax.readthedocs.io/en/latest/index.html#objax-philosophy) + +This is not an officially supported Google product. + +Objax is an open source machine learning framework that accelerates research and learning thanks to a +minimalist object-oriented design and a readable code base. +Its name comes from the contraction of Object and [JAX](https://github.com/google/jax) -- a popular high-performance +framework. +Objax is designed **by researchers for researchers** with a focus on simplicity and understandability. +Its users should be able to easily read, understand, extend, and modify it to fit their needs. + +This is the developer repository of Objax, there is very little user documentation +here, for the full documentation go to [objax.readthedocs.io](https://objax.readthedocs.io/). + +You can find READMEs in the subdirectory of this project, for example: + +* [Sample Code](examples/README.md) +* [Writing documentation](docs/README.md) + + +## User installation guide + +You install Objax using `pip` as follows: + +```bash +pip install --upgrade objax +``` + +Objax supports GPUs but assumes that you already have some version of CUDA +installed. Here are the extra steps required to install CUDA-enabled jaxlib +(jaxlib releases require CUDA 11.2 or newer): + +```bash +RELEASE_URL="https://storage.googleapis.com/jax-releases/jax_cuda_releases.html" +JAX_VERSION=`python3 -c 'import jax; print(jax.__version__)'` +pip uninstall -y jaxlib +pip install -f $RELEASE_URL jax[cuda]==$JAX_VERSION +``` + +For more installation options, see https://github.com/google/jax#pip-installation-gpu-cuda + +### Useful environment configurations + +Here are a few useful options: + +```bash +# Prevent JAX from taking the whole GPU memory +# (useful if you want to run several programs on a single GPU) +export XLA_PYTHON_CLIENT_PREALLOCATE=false +``` + +### Testing your installation + +You can test your installation by running the code below: + +```python +import jax +import objax + +print(f'Number of GPUs {jax.device_count()}') + +x = objax.random.normal(shape=(100, 4)) +m = objax.nn.Linear(nin=4, nout=5) +print('Matrix product shape', m(x).shape) # (100, 5) + +x = objax.random.normal(shape=(100, 3, 32, 32)) +m = objax.nn.Conv2D(nin=3, nout=4, k=3) +print('Conv2D return shape', m(x).shape) # (100, 4, 32, 32) +``` + +Typically if you get errors running this using CUDA, it probably means your +installation of CUDA or CuDNN has issues. + +### Runing code examples + +Clone the code repository: + +```bash +git clone https://github.com/google/objax.git +cd objax/examples +``` + +### Citing Objax + +To cite this repository: + +``` +@software{objax2020github, + author = {{Objax Developers}}, + title = {{Objax}}, + url = {https://github.com/google/objax}, + version = {1.2.0}, + year = {2020}, +} +``` + +## Developer documentation + +Here is information about +[development setup](https://objax.readthedocs.io/en/latest/dev/setup.html) +and a [guide on adding new code](https://objax.readthedocs.io/en/latest/dev/adding_module.html). + + +%package -n python3-objax +Summary: Objax is a machine learning framework that provides an Object Oriented layer for JAX. +Provides: python-objax +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-objax +# Objax + +[**Tutorials**](https://objax.readthedocs.io/en/latest/notebooks/Objax_Basics.html) +| [**Install**](https://objax.readthedocs.io/en/latest/installation_setup.html) +| [**Documentation**](https://objax.readthedocs.io/en/latest/) +| [**Philosophy**](https://objax.readthedocs.io/en/latest/index.html#objax-philosophy) + +This is not an officially supported Google product. + +Objax is an open source machine learning framework that accelerates research and learning thanks to a +minimalist object-oriented design and a readable code base. +Its name comes from the contraction of Object and [JAX](https://github.com/google/jax) -- a popular high-performance +framework. +Objax is designed **by researchers for researchers** with a focus on simplicity and understandability. +Its users should be able to easily read, understand, extend, and modify it to fit their needs. + +This is the developer repository of Objax, there is very little user documentation +here, for the full documentation go to [objax.readthedocs.io](https://objax.readthedocs.io/). + +You can find READMEs in the subdirectory of this project, for example: + +* [Sample Code](examples/README.md) +* [Writing documentation](docs/README.md) + + +## User installation guide + +You install Objax using `pip` as follows: + +```bash +pip install --upgrade objax +``` + +Objax supports GPUs but assumes that you already have some version of CUDA +installed. Here are the extra steps required to install CUDA-enabled jaxlib +(jaxlib releases require CUDA 11.2 or newer): + +```bash +RELEASE_URL="https://storage.googleapis.com/jax-releases/jax_cuda_releases.html" +JAX_VERSION=`python3 -c 'import jax; print(jax.__version__)'` +pip uninstall -y jaxlib +pip install -f $RELEASE_URL jax[cuda]==$JAX_VERSION +``` + +For more installation options, see https://github.com/google/jax#pip-installation-gpu-cuda + +### Useful environment configurations + +Here are a few useful options: + +```bash +# Prevent JAX from taking the whole GPU memory +# (useful if you want to run several programs on a single GPU) +export XLA_PYTHON_CLIENT_PREALLOCATE=false +``` + +### Testing your installation + +You can test your installation by running the code below: + +```python +import jax +import objax + +print(f'Number of GPUs {jax.device_count()}') + +x = objax.random.normal(shape=(100, 4)) +m = objax.nn.Linear(nin=4, nout=5) +print('Matrix product shape', m(x).shape) # (100, 5) + +x = objax.random.normal(shape=(100, 3, 32, 32)) +m = objax.nn.Conv2D(nin=3, nout=4, k=3) +print('Conv2D return shape', m(x).shape) # (100, 4, 32, 32) +``` + +Typically if you get errors running this using CUDA, it probably means your +installation of CUDA or CuDNN has issues. + +### Runing code examples + +Clone the code repository: + +```bash +git clone https://github.com/google/objax.git +cd objax/examples +``` + +### Citing Objax + +To cite this repository: + +``` +@software{objax2020github, + author = {{Objax Developers}}, + title = {{Objax}}, + url = {https://github.com/google/objax}, + version = {1.2.0}, + year = {2020}, +} +``` + +## Developer documentation + +Here is information about +[development setup](https://objax.readthedocs.io/en/latest/dev/setup.html) +and a [guide on adding new code](https://objax.readthedocs.io/en/latest/dev/adding_module.html). + + +%package help +Summary: Development documents and examples for objax +Provides: python3-objax-doc +%description help +# Objax + +[**Tutorials**](https://objax.readthedocs.io/en/latest/notebooks/Objax_Basics.html) +| [**Install**](https://objax.readthedocs.io/en/latest/installation_setup.html) +| [**Documentation**](https://objax.readthedocs.io/en/latest/) +| [**Philosophy**](https://objax.readthedocs.io/en/latest/index.html#objax-philosophy) + +This is not an officially supported Google product. + +Objax is an open source machine learning framework that accelerates research and learning thanks to a +minimalist object-oriented design and a readable code base. +Its name comes from the contraction of Object and [JAX](https://github.com/google/jax) -- a popular high-performance +framework. +Objax is designed **by researchers for researchers** with a focus on simplicity and understandability. +Its users should be able to easily read, understand, extend, and modify it to fit their needs. + +This is the developer repository of Objax, there is very little user documentation +here, for the full documentation go to [objax.readthedocs.io](https://objax.readthedocs.io/). + +You can find READMEs in the subdirectory of this project, for example: + +* [Sample Code](examples/README.md) +* [Writing documentation](docs/README.md) + + +## User installation guide + +You install Objax using `pip` as follows: + +```bash +pip install --upgrade objax +``` + +Objax supports GPUs but assumes that you already have some version of CUDA +installed. Here are the extra steps required to install CUDA-enabled jaxlib +(jaxlib releases require CUDA 11.2 or newer): + +```bash +RELEASE_URL="https://storage.googleapis.com/jax-releases/jax_cuda_releases.html" +JAX_VERSION=`python3 -c 'import jax; print(jax.__version__)'` +pip uninstall -y jaxlib +pip install -f $RELEASE_URL jax[cuda]==$JAX_VERSION +``` + +For more installation options, see https://github.com/google/jax#pip-installation-gpu-cuda + +### Useful environment configurations + +Here are a few useful options: + +```bash +# Prevent JAX from taking the whole GPU memory +# (useful if you want to run several programs on a single GPU) +export XLA_PYTHON_CLIENT_PREALLOCATE=false +``` + +### Testing your installation + +You can test your installation by running the code below: + +```python +import jax +import objax + +print(f'Number of GPUs {jax.device_count()}') + +x = objax.random.normal(shape=(100, 4)) +m = objax.nn.Linear(nin=4, nout=5) +print('Matrix product shape', m(x).shape) # (100, 5) + +x = objax.random.normal(shape=(100, 3, 32, 32)) +m = objax.nn.Conv2D(nin=3, nout=4, k=3) +print('Conv2D return shape', m(x).shape) # (100, 4, 32, 32) +``` + +Typically if you get errors running this using CUDA, it probably means your +installation of CUDA or CuDNN has issues. + +### Runing code examples + +Clone the code repository: + +```bash +git clone https://github.com/google/objax.git +cd objax/examples +``` + +### Citing Objax + +To cite this repository: + +``` +@software{objax2020github, + author = {{Objax Developers}}, + title = {{Objax}}, + url = {https://github.com/google/objax}, + version = {1.2.0}, + year = {2020}, +} +``` + +## Developer documentation + +Here is information about +[development setup](https://objax.readthedocs.io/en/latest/dev/setup.html) +and a [guide on adding new code](https://objax.readthedocs.io/en/latest/dev/adding_module.html). + + +%prep +%autosetup -n objax-1.7.0 + +%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-objax -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.7.0-1 +- Package Spec generated |