{
"info": {
"author": "datmo developers",
"author_email": "developer@datmo.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 2 - Pre-Alpha",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6"
],
"description": "# \n[](https://badge.fury.io/py/datmo)\n[](https://coveralls.io/github/datmo/datmo?branch=master)\n[](http://datmo.readthedocs.io/en/latest/?badge=latest)\n[](https://www.codacy.com/app/datmo/datmo)\n\n| OS | CI testing on `master` |\n|----|--------------------|\n|
| [](https://travis-ci.org/datmo/datmo) |\n|
| [](https://circleci.com/gh/datmo/datmo) |\n|
| [](https://ci.appveyor.com/project/asampat3090/datmo/branch/master) |\n\n# Datmo Alpha Release\n\n**Datmo** is an open source production model management tool for data scientists. Use `datmo init` to turn any repository into a trackable experiment record with reusable environments, and use the SDK to \nmonitor deployed models. \n\n\n**Note**: The current version of Datmo is an alpha release. This means commands are subject to change and more features will be added. If you find any bugs please\nfeel free contribute by adding issues so the contributors can address them. \n\n\n\n## Features\n\n- **One command environment setup** (languages, frameworks, packages, etc)\n- **Tracking and logging** for model config and results\n- **Project versioning** (model state tracking)\n- **Experiment reproducibility** (re-run tasks)\n- **Visualize + export** experiment history\n- **(coming soon) Dashboards** to visualize experiments and deployed models\n\n\n| Feature | Commands|\n| ------------- | ---------------------------- |\n| Initializing a Project | `$ datmo init` |\n| Setup a new environment | `$ datmo environment setup` |\n| Run an experiment | `$ datmo run \"python filename.py\"` |\n| Reproduce a previous experiment | `$ datmo ls` (Find the desired ID)
`$ datmo rerun EXPERIMENT_ID` |\n| Open a workspace | `$ datmo notebook` (Jupyter Notebook)
`$ datmo jupyterlab` (JupyterLab)
`$ datmo rstudio` (RStudio)
`$ datmo terminal` (Terminal)|\n| Record your project state
(Files, code, env, config, stats) | `$ datmo snapshot create -m \"My first snapshot!\"` |\n| Switch to a previous project state | `$ datmo snapshot ls` (Find the desired ID)
`$ datmo snapshot checkout SNAPSHOT_ID` |\n| Visualize project entities | `$ datmo ls` (Experiments)
`$ datmo snapshot ls` (Snapshots)
`$ datmo environment ls` (Environments) |\n\n---\n\n### Table of Contents\n* [Requirements](#requirements)\n* [Installation](#installation)\n* [Hello World](#hello-world)\n* [Examples](#examples)\n* [Documentation](#documentation)\n* [Transform a Current Project](#transform-a-current-project)\n* [Sharing](#sharing-workaround)\n* [Contributing to Datmo](/CONTRIBUTING.md)\n\n## Installation\n\n ### Requirements:
\n docker (installed and running before starting) : Instructions for [Ubuntu](https://docs.docker.com/install/linux/docker-ce/ubuntu/#uninstall-old-versions), [MacOS](https://docs.docker.com/docker-for-mac/install/#install-and-run-docker-for-mac), [Windows](https://docs.docker.com/docker-for-windows/install/) \n\n $ pip install datmo\n\n## Hello-World\nOur hello world guide includes showing environment setup and changes, as well as experiment reproducibility. It's available [in our docs here](https://datmo.readthedocs.io/en/latest/quickstart.html).\n\n## Examples\nIn the `/examples` folder we have a few scripts you can run to get a feel for datmo. You can \nnavigate to [Examples](/examples/README.md) to learn more about how you can run the examples \nand get started with your own projects.\n\nFor more advanced tutorials, check out our dedicated tutorial repository [here](https://github.com/datmo/datmo-tutorials).\n\n\n### Environment Setup\n\nSetting up an environment is extremely easy in datmo. Simply respond with `y` when asked about environment setup during initialization, or use `datmo environment setup` at any point. Then follow the resulting prompts. \n\n
\n One example is shown below, for setting up a Python 2.7 TensorFlow with CPU reqs/drivers.\n
\n
\n
\n One example is shown below, for quickly opening a Jupyter Notebook and showing the import of TensorFlow working as intended.\n
\n
\n
| Normal Script | \nWith Datmo | \n
|---|---|
\n\n# train.py\n#\nfrom sklearn import datasets\nfrom sklearn import linear_model as lm\nfrom sklearn import model_selection as ms\nfrom sklearn import externals as ex\n#\n#\n#\n#\n#\n#\niris_dataset = datasets.load_iris()\nX = iris_dataset.data\ny = iris_dataset.target\ndata = ms.train_test_split(X, y)\nX_train, X_test, y_train, y_test = data\n#\nmodel = lm.LogisticRegression(solver=\"newton-cg\")\nmodel.fit(X_train, y_train)\nex.joblib.dump(model, 'model.pkl')\n#\ntrain_acc = model.score(X_train, y_train)\ntest_acc = model.score(X_test, y_test)\n#\nprint(train_acc)\nprint(test_acc)\n#\n#\n#\n#\n#\n#\n#\n#\n#\n | \n\n\n# train.py\n#\nfrom sklearn import datasets\nfrom sklearn import linear_model as lm\nfrom sklearn import model_selection as ms\nfrom sklearn import externals as ex\nimport datmo # extra line\n#\nconfig = {\n \"solver\": \"newton-cg\"\n} # extra line\n#\niris_dataset = datasets.load_iris()\nX = iris_dataset.data\ny = iris_dataset.target\ndata = ms.train_test_split(X, y)\nX_train, X_test, y_train, y_test = data\n#\nmodel = lm.LogisticRegression(**config)\nmodel.fit(X_train, y_train)\nex.joblib.dump(model, \"model.pkl\")\n#\ntrain_acc = model.score(X_train, y_train)\ntest_acc = model.score(X_test, y_test)\n#\nstats = {\n \"train_accuracy\": train_acc,\n \"test_accuracy\": test_acc\n} # extra line\n#\ndatmo.snapshot.create(\n message=\"my first snapshot\",\n filepaths=[\"model.pkl\"],\n config=config,\n stats=stats\n) # extra line\n | \n