sparsity patterns for tensorflow.sparse
Project description
keras-sparsity-pattern
Tensorflow2/Keras wrapper for sparsity-pattern
package.
Installation
The keras-sparsity-pattern
git repo is available as PyPi package
pip install keras-sparsity-pattern
pip install git+ssh://git@github.com/ulf1/keras-sparsity-pattern.git
Usage
The block
-diagonal pattern for tensorflow
import keras_sparsity_pattern
import tensorflow as tf
n_rows, n_cols = 10, 12
mat_pattern = keras_sparsity_pattern.get('block', min(n_rows, n_cols), block_sizes=[3, 1, 2])
mat_values = range(1, len(mat_pattern)+1)
mat = tf.sparse.SparseTensor(
dense_shape=(n_rows, n_cols),
indices=mat_pattern,
values=mat_values)
print(tf.sparse.to_dense(mat))
Please, check the howto.ipynb of the sparsity-pattern package for more sparsity patterns.
The .get
method works exactly the same.
Appendix
Install a virtual environment
python3.6 -m venv .venv
source .venv/bin/activate
pip3 install --upgrade pip
pip3 install -r requirements.txt
(If your git repo is stored in a folder with whitespaces, then don't use the subfolder .venv
. Use an absolute path without whitespaces.)
Python commands
- Jupyter for the examples:
jupyter lab
- Check syntax:
flake8 --ignore=F401 --exclude=$(grep -v '^#' .gitignore | xargs | sed -e 's/ /,/g')
- Run Unit Tests:
pytest
- Upload to PyPi with twine:
python setup.py sdist && twine upload -r pypi dist/*
Clean up
find . -type f -name "*.pyc" | xargs rm
find . -type d -name "__pycache__" | xargs rm -r
rm -r .pytest_cache
rm -r .venv
Support
Please open an issue for support.
Contributing
Please contribute using Github Flow. Create a branch, add commits, and open a pull request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for keras-sparsity-pattern-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f3f6cfff7c13c1d2395d935dfbb3f209c896b5fa85d1083ede4136b91489ea9 |
|
MD5 | f39d6b985f023537e7cdd5836eee4850 |
|
BLAKE2b-256 | cc736476941e594ea7e2b7d6ef87f85b4b09193e97ddf3df64afc2d5850ed354 |