{ "info": { "author": "Martin Nordstrom", "author_email": "martin.nordstrom87@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "Exprec\n======\n\nExprec records your experiments so you can compare different runs and easily reproduce results. \n\n* Track your experiments for experiment comparison and reproducability\n* Minimum setup: only two lines of code required\n* Framework agnostic - works with any machine learning/deep learning framework\n* Experiments are saved locally - nothing is saved in the cloud\n\n\n![Dashboard](https://user-images.githubusercontent.com/176676/48298763-1f26c880-e506-11e8-9846-59455764604c.gif)\n\n\nInstallation\n------------\n\n```bash\npip install exprec\n```\n\n\nUsage\n-----\n\n### Minimal example\n\n```python\nfrom exprec import Experiment\n\nwith Experiment() as experiment:\n # YOUR CODE HERE\n```\n\nAn experiment is recorded in the `with` statement. This includes recording the terminal output, the source code used and the packages that are installed at the time the experiment runs. You can also add parameters, scalars and images to the experiment (see below). \n\n\n### Dashboard\n\nRun `exprec` in your terminal to start the dashboard. `exprec` has to be run from the same folder as you started your python script. \n\nNow visit http://localhost:8080/ in your browser to see the dashboard. If the client and the exprec server run on different machines, set the flag `--host=0.0.0.0` when starting `exprec`. This allows any client with access to the server to see the dashboard. \n\n\n### More code examples\n\n```python\nfrom exprec import Experiment\n\nwith Experiment(title='My experiment', tags=['tag1', 'tag2']) as experiment:\n experiment.set_parameter('test_parameter', 5)\n\n for i in range(10):\n experiment.add_scalar('2x', 2*i, step=i)\n experiment.add_scalar('3x', 3*i, step=i)\n\n with experiment.open('filename.txt', mode='w') as fp:\n fp.write('test\\n')\n # This creates a file in the experiment's folder (`.exprec//files/filename.txt`). \n\n raise ValueError('Invalid value')\n # The experiment will finish with status 'failed'. The exception is also logged. \n```\n\n\nExamples\n--------\n\nScripts under `examples/` demonstrate how to use this package. \n\n\nAPI\n---\n\n### Experiment\n\n```python\nExperiment(title='', tags=[], verbose=True, exceptions_to_ignore=['KeyboardInterrupt'], name='')\n```\n\n#### set_parameter\n\n```python\nExperiment.set_parameter(name, value)\n```\nSets the parameter to the given value.\n\nOnly one value can be recorded per parameter. You can overwrite a previously set parameter.\n\n#### add_scalar\n\n```python\nExperiment.add_scalar(name, value, step=None)\n```\nRecords the scalar's value at a given step.\n\n#### add_image\n\n```python\nExperiment.add_image(name, image, step)\n```\nAdds an image at a given step.\n```\nArgs:\n name (str): The name of the image\n image: The image to save. Should either be a Pillow image, or a numpy array which can be converted to a Pillow image.\n step (int)\n```\n\n#### open\n\n```python\nExperiment.open(filename, mode='r', uuid=None)\n```\nOpens a file in the experiment's folder. \n```\nArgs:\n filename (str): A filename or path to a filename\n mode (str): The mode in which the file is opened. Supports the same modes as Python's built-in `open()` function.\n uuid (str, None): A previous experiment's id. If given, it will look for the filename in the previous experiment's\n saved files. Only supports 'r' mode when a uuid is given.\nReturns:\n A file object\n```\n\n\nWhy \"Exprec\"?\n-------------\n\nExprec is short for Experiment recorder. \n\n\nLicense\n-------\n\nMIT License\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/martno/exprec/", "keywords": "", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "exprec", "package_url": "https://pypi.org/project/exprec/", "platform": "", "project_url": "https://pypi.org/project/exprec/", "project_urls": { "Homepage": "https://github.com/martno/exprec/" }, "release_url": "https://pypi.org/project/exprec/0.1.1/", "requires_dist": [ "Flask (>=0.12.2)", "attrs (>=17.4.0)", "bokeh (==0.12.15)", "humanize (>=0.5.1)", "pandas (>=0.22.0)", "GitPython (>=2.1.10)", "colorhash (>=1.0.2)", "markdown (>=2.6.11)", "psutil (>=5.4.6)", "Pillow (>=5.1.0)", "Jinja2 (>=2.10)" ], "requires_python": "", "summary": "Exprec records your experiments so you can compare different runs and easily reproduce results.", "version": "0.1.1" }, "last_serial": 4499370, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d0b6a9b80d8ae7d476caf46dbd0ee573", "sha256": "30d65760f903b1b998f79e326be95e82011a90956044e2ff4913616b2df4c8df" }, "downloads": -1, "filename": "exprec-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d0b6a9b80d8ae7d476caf46dbd0ee573", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29692, "upload_time": "2018-11-18T09:10:13", "url": "https://files.pythonhosted.org/packages/b0/43/ff0f986def5e6ce5d6f312ae33285db50af317c33e69b01144b12ff350ae/exprec-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b20d678402771531e0c9aa7eeef221ae", "sha256": "ecff810092292fb5264634cabfea50677c722052723c42695164e7fa711ba064" }, "downloads": -1, "filename": "exprec-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b20d678402771531e0c9aa7eeef221ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25429, "upload_time": "2018-11-18T09:10:15", "url": "https://files.pythonhosted.org/packages/ac/e8/74d589d78ee3aa4e841e9b9a4295d5d8768493732d4da8525d7580859740/exprec-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e51c60ebf30c36e3f64866d9da5ca910", "sha256": "99b55b6be6ab1701812fd85ab5872941f7b9e5e2139437072be1cde7d508fb51" }, "downloads": -1, "filename": "exprec-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e51c60ebf30c36e3f64866d9da5ca910", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29683, "upload_time": "2018-11-18T09:16:30", "url": "https://files.pythonhosted.org/packages/8f/ed/11176bf74ff24eb90172408d019999a5f06c772a1fcddeda6484a59bc9f6/exprec-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eba3cbfd33e579befae64f60a0d16d84", "sha256": "21213df80c0cf9325665f47152890409ceebc3bc30a6ebe77dea801cdb644a39" }, "downloads": -1, "filename": "exprec-0.1.1.tar.gz", "has_sig": false, "md5_digest": "eba3cbfd33e579befae64f60a0d16d84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25433, "upload_time": "2018-11-18T09:16:33", "url": "https://files.pythonhosted.org/packages/7c/4e/15ba401963c38973691a92b71f5d67e194c2ef2e6bb16e2efb87b57e16b2/exprec-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e51c60ebf30c36e3f64866d9da5ca910", "sha256": "99b55b6be6ab1701812fd85ab5872941f7b9e5e2139437072be1cde7d508fb51" }, "downloads": -1, "filename": "exprec-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e51c60ebf30c36e3f64866d9da5ca910", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29683, "upload_time": "2018-11-18T09:16:30", "url": "https://files.pythonhosted.org/packages/8f/ed/11176bf74ff24eb90172408d019999a5f06c772a1fcddeda6484a59bc9f6/exprec-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eba3cbfd33e579befae64f60a0d16d84", "sha256": "21213df80c0cf9325665f47152890409ceebc3bc30a6ebe77dea801cdb644a39" }, "downloads": -1, "filename": "exprec-0.1.1.tar.gz", "has_sig": false, "md5_digest": "eba3cbfd33e579befae64f60a0d16d84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25433, "upload_time": "2018-11-18T09:16:33", "url": "https://files.pythonhosted.org/packages/7c/4e/15ba401963c38973691a92b71f5d67e194c2ef2e6bb16e2efb87b57e16b2/exprec-0.1.1.tar.gz" } ] }