SvenPVoigt / pymks

Materials Knowledge System in Python

Home Page:https://pymks.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyMKS logo

PyMKS – The Materials Knowledge System in Python

Travis CI License Documentation Status PyPI version Circle CI

The PyMKS framework is a set of machine learning tools for constructing process-structure-property models for materials science applications. It includes very fast models for both homogenization (scaling up), which uses spatial statistics, and localization (scaling down), which uses linkages adapted from Green's functions. Both of these techniques are fast because the derived models can be calibrated using convolutions in Fourier space.

To learn about PyMKS start with the PyMKS examples, especially the introductory example. To learn more about the methods consult the technical overview for an introduction.

The two principle objects that PyMKS provides are the TwoPointCorrelation transformer and the LocalizationRegressor which provide the homogenization and localization functionality. The objects provided by PyMKS all work as either transformers or regressors in a Scikit-Learn pipeline and use both Numpy and Dask arrays for out-of-memory, distributed or parallel computations. The out-of-memory computations are still in an experimental stage as of version 0.4 and some issues still need to be resolved.

Feedback

Please submit questions and issues on the GitHub issue tracker.

Installation

Conda

To install using Conda,

$ cd pymks
$ conda env create -f environment.yml
$ conda activate pymks
$ python setup.py install

Nix

Nix is a seamless way to install PyMKS. After installing Nix, run

$ nix-shell

to drop into a shell with PyMKS and all its requirements available.

Pip

Install a minimal version of PyMKS with

$ pip install pymks

This is enough to run the tests, but not the examples. Some optional packages are not available via Pip.

Testing

To test a PyMKS installation use

$ python -c "import pymks; pymks.test()"

Citing

Please cite the following if you happen to use PyMKS for a publication.

  • Brough, D.B., Wheeler, D. & Kalidindi, S.R. Materials Knowledge Systems in Python—a Data Science Framework for Accelerated Development of Hierarchical Materials. Integr Mater Manuf Innov 6, 36–53 (2017). https://doi.org/10.1007/s40192-017-0089-0

About

Materials Knowledge System in Python

https://pymks.readthedocs.io

License:MIT License


Languages

Language:Jupyter Notebook 85.8%Language:Python 14.1%Language:Nix 0.0%Language:Dockerfile 0.0%