Skip to content

Commit 0fc6722

Browse files
authored
Merge pull request #17 from lanl/develop
v1.0.2
2 parents bdaed6e + e65fe71 commit 0fc6722

File tree

155 files changed

+19302
-9636
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+19302
-9636
lines changed

.github/workflows/ci_tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- uses: conda-incubator/setup-miniconda@v2
1919
with:
2020
activate-environment: anaconda-client-env
21-
python-version: 3.8.5
21+
python-version: 3.9
2222
auto-activate-base: True
2323
- name: Install Dependencies and pyCP_APR
2424
run: |

README.md

+7-18
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,24 @@
22

33
<div align="center", style="font-size: 50px">
44

5-
[![Build Status](https://github.com/lanl/pyCP_APR/actions/workflows/ci_tests.yml/badge.svg?branch=main)](https://github.com/lanl/pyCP_APR/actions/workflows/ci_tests.yml/badge.svg?branch=main) [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg) [![Python Version](https://img.shields.io/badge/python-v3.8.5-blue)](https://img.shields.io/badge/python-v3.8.5-blue) [![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.4840598-blue.svg)](https://doi.org/10.5281/zenodo.4840598)
5+
[![Build Status](https://github.com/lanl/pyCP_APR/actions/workflows/ci_tests.yml/badge.svg?branch=main)](https://github.com/lanl/pyCP_APR/actions/workflows/ci_tests.yml/badge.svg?branch=main) [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg) [![Python Version](https://img.shields.io/badge/python-v3.9-blue)](https://img.shields.io/badge/python-v3.8.5-blue) [![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.4840598-blue.svg)](https://doi.org/10.5281/zenodo.4840598)
66

77
</div>
88

99
<p align="center">
1010
<img width="324" height="200" src="docs/rd100.png">
1111
</p>
1212

13-
**pyCP_APR** is a Python library for tensor decomposition and anomaly detection that is developed as part of the R&D 100 award wining [**SmartTensors**](https://www.lanl.gov/collaboration/smart-tensors/) project. It is designed for the fast analysis of large datasets by accelerating computation speed using GPUs. pyCP_APR uses the CANDECOMP/PARAFAC Alternating Poisson Regression (CP-APR) tensor factorization algorithm utilizing both Numpy and PyTorch backend. While the Numpy backend can be used for the analysis of both sparse and dense tensors, PyTorch backend provides faster decomposition of large and sparse tensors on the GPU. pyCP_APR's Scikit-learn like API allows comfortable interaction with the library, and include the methods for anomaly detection via the p-values obtained from the CP-APR factorization. The anomaly detection methods via the p-values optained from CP-APR was introduced by Eren et al. in [6] using the [Unified Host and Network Dataset](https://csr.lanl.gov/data/2017/) [5]. Our work follows the [MATLAB Tensor Toolbox](https://www.tensortoolbox.org/cp.html) [1-3] implementation of CP-APR [4].
13+
**pyCP_APR** is a Python library for tensor decomposition and anomaly detection that is developed as part of the R&D 100 award wining **[SmartTensors AI](https://smart-tensors.lanl.gov/software/)** project. It is designed for the fast analysis of large datasets by accelerating computation speed using GPUs. pyCP_APR uses the CANDECOMP/PARAFAC Alternating Poisson Regression (CP-APR) tensor factorization algorithm utilizing both Numpy and PyTorch backend. While the Numpy backend can be used for the analysis of both sparse and dense tensors, PyTorch backend provides faster decomposition of large and sparse tensors on the GPU. pyCP_APR's Scikit-learn like API allows comfortable interaction with the library, and include the methods for anomaly detection via the p-values obtained from the CP-APR factorization. The anomaly detection methods via the p-values optained from CP-APR was introduced by Eren et al. in [6] using the [Unified Host and Network Dataset](https://csr.lanl.gov/data/2017/) [5]. Our work follows the [MATLAB Tensor Toolbox](https://www.tensortoolbox.org/cp.html) [1-3] implementation of CP-APR [4].
1414

1515

1616
<div align="center", style="font-size: 50px">
1717

1818
### [:information_source: Documentation](https://lanl.github.io/pyCP_APR/) &emsp; [:orange_book: Example Notebooks](examples/) &emsp; [:bar_chart: Datasets](data/tensors)
1919

2020
### [:page_facing_up: Paper 1](https://ieeexplore.ieee.org/abstract/document/9280524) &emsp; [:page_facing_up: Paper 2](https://dl.acm.org/doi/abs/10.1145/3519602)
21+
22+
### [:link: Website](https://smart-tensors.LANL.gov)
2123

2224
</div>
2325

@@ -33,25 +35,12 @@ pip install git+https://github.com/lanl/pyCP_APR.git
3335
```shell
3436
git clone https://github.com/lanl/pyCP_APR.git
3537
cd pyCP_APR
36-
conda create --name pyCP_APR python=3.8.5
38+
conda create --name pyCP_APR python=3.9
3739
source activate pyCP_APR
38-
python setup.py install
40+
pip install -e . # or <python setup.py install>
3941
```
4042

41-
## Prerequisites
42-
- [Anaconda](https://docs.anaconda.com/anaconda/install/)(Optional)
43-
- numpy>=1.19.2
44-
- numpy-indexed>=0.3.5
45-
- pandas>=1.0.5
46-
- matplotlib>=3.3.4
47-
- joblib>=1.0.1
48-
- scikit-learn>=0.22.2
49-
- scipy>=1.5.3
50-
- seaborn>=0.11.1
51-
- torch>=1.6.0
52-
- requests>=2.25.1
53-
- tqdm>=4.62.3
54-
- sparse>=0.13.0
43+
#### Jupyter Setup Tutorial for using the examples ([Link](https://www.maksimeren.com/post/conda-and-jupyter-setup-for-research/))
5544

5645
## Example Usage
5746
```python

0 commit comments

Comments
 (0)