{ "info": { "author": "Jim Fleming", "author_email": "jim@fomoro.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Code Generators" ], "description": "# TF Stage\n\nA fast and canonical project setup for TensorFlow models. The most difficult part of getting started with TensorFlow isn't deep learning, it's putting together hundreds of API calls into a cohesive model.\n\n```\n$ tfstage --help\nusage: tfstage [-h] name\n\nTensorFlow project scaffolding\n\npositional arguments:\n name Project name\n install_dependencies Install pip dependencies\n\noptional arguments:\n -h, --help show this help message and exit\n```\n\n## Usage\n\n1. Install `tfstage`:\n\n ```\n pip install tfstage\n ```\n\n2. Create a new empty project directory\n\n ```\n $ mkdir my_project/\n $ cd my_project/\n ```\n\n3. Run `tfstage my_project`:\n\n ```\n $ tfstage my_project\n Project created: ./my_project\n ```\n\n4. This stubs out an entire TensorFlow project, completely runnable using a simple XOR dataset and model. For example:\n\n ```\n $ python -m my_project.main --job-dir logs/\n\n ...\n\n INFO:tensorflow:Saving checkpoints for 1 into logs/model.ckpt.\n INFO:tensorflow:loss = 1.20236, step = 1\n INFO:tensorflow:Starting evaluation at 2017-07-13-18:22:20\n INFO:tensorflow:Restoring parameters from logs/model.ckpt-1\n\n ...\n ```\n\n## Workflow\n\nWhen starting a new project we run `tfstage`, run the code to verify everything works, then search and replace the `TODO` comments in the code which mark important changes.\n\n## Environment\n\nHigh-level description of a new project:\n\n- main.py: defines command-line arguments and sets up [`learn_runner`](https://goo.gl/I6TwxA)\n- experiment.py: defines a [`tf.contrib.learn.Experiment`](https://goo.gl/nMvwLx) for training\n- inputs.py: defines the input pipeline for training and evaluation\n- model.py: defines the model, loss, and training optimization\n- augment.py: defines any data augmentation or feature engineering\n- serve.py: defines placeholders for [TensorFlow Serving](https://goo.gl/bM3jpA) and [Google Cloud ML Engine predictions](https://goo.gl/yTBv2e).\n\nIn addition, several common files are created including:\n\n- README.md\n- requirements.txt for local _development_\n- setup.py for local and GCE _deployment_\n- .gitignore\n\n### Local Deployment\n\n```\nPROJECT_NAME=my_project\nMODULE_NAME=\"${PROJECT_NAME}.main\"\nPACKAGE_PATH=\"${PROJECT_NAME}/\"\nJOB_DIR=logs/\n\ngcloud ml-engine local train \\\n --module-name $MODULE_NAME \\\n --package-path $PACKAGE_PATH \\\n --job-dir $JOB_DIR \\\n -- \\\n [args]\n```\n\n### Cloud Deployment\n\n```\nMODULE_NAME=\"${PROJECT_NAME}.main\"\nPACKAGE_PATH=\"${PROJECT_NAME}/\"\nJOB_NAME=\"${PROJECT_NAME}_1\"\nJOB_DIR=\"gs://${PROJECT_NAME}/${JOB_NAME}\"\nREGION=us-east1\n\ngcloud ml-engine jobs submit training $JOB_NAME \\\n --job-dir $JOB_DIR \\\n --module-name $MODULE_NAME \\\n --package-path $PACKAGE_PATH \\\n --region $REGION \\\n -- \\\n [args]\n```\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/fomorians/tfstage", "keywords": "tensorflow scaffold scaffolding", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "tfstage", "package_url": "https://pypi.org/project/tfstage/", "platform": "", "project_url": "https://pypi.org/project/tfstage/", "project_urls": { "Homepage": "http://github.com/fomorians/tfstage" }, "release_url": "https://pypi.org/project/tfstage/0.1.7/", "requires_dist": [ "termcolor", "pystache" ], "requires_python": "", "summary": "TensorFlow project scaffolding", "version": "0.1.7" }, "last_serial": 3108608, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9f2c0cd348862e8da8a53bd1621c8a5f", "sha256": "f51ea78415401c2ddf6f6441d80dde894031c845f79b5e2bca5eae21dd3cd527" }, "downloads": -1, "filename": "tfstage-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9f2c0cd348862e8da8a53bd1621c8a5f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5735, "upload_time": "2017-04-28T22:16:12", "url": "https://files.pythonhosted.org/packages/e3/de/5fad4d149e4fd99e09d1334f32fd470a84ca13d8e16e6af36353a6efec87/tfstage-0.1.0-py2.py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6a369d45f33c746b557e574ee8c4768a", "sha256": "fddf3ec2f02afc416cc245bf058290c8d657cd35140b8119cbdaf0f9422eb4ad" }, "downloads": -1, "filename": "tfstage-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6a369d45f33c746b557e574ee8c4768a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5735, "upload_time": "2017-04-28T22:40:24", "url": "https://files.pythonhosted.org/packages/e1/f5/c9661617154db37fbed13eb802154419334597759a8397424b9245178ebe/tfstage-0.1.1-py2.py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "46156638e1b4ef10685e0b51d6539d0d", "sha256": "b5a7a0600e018f1fcd948ab7d788132fb23eb4f2f674d7de0f9796aa3ef6cb59" }, "downloads": -1, "filename": "tfstage-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "46156638e1b4ef10685e0b51d6539d0d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5736, "upload_time": "2017-04-28T22:45:36", "url": "https://files.pythonhosted.org/packages/15/48/5d021e7eb5e3d8aaf6eab06d27b7ce078e01069d4e3eb508844c8079e105/tfstage-0.1.2-py2.py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "bf324e43f2a5af847322c50acff0abbb", "sha256": "039435a9ff4ef2eca1eb26789fa557d680a28049a4d24356b82c7872bacc1d52" }, "downloads": -1, "filename": "tfstage-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bf324e43f2a5af847322c50acff0abbb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12148, "upload_time": "2017-04-29T18:32:14", "url": "https://files.pythonhosted.org/packages/fa/39/4eef8cfafcc7909aa5c8481b7fbbc4eab5a047ec3bba61417ec5d146f59c/tfstage-0.1.3-py2.py3-none-any.whl" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "4807b1c5d283c294a11ac4462d8724b3", "sha256": "981277d0528f724a65494bfb026a23fece9e454918edda9dd193cfe19f5c36df" }, "downloads": -1, "filename": "tfstage-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4807b1c5d283c294a11ac4462d8724b3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12136, "upload_time": "2017-07-05T18:44:09", "url": "https://files.pythonhosted.org/packages/c7/6d/2e7e730f38df71e2a21e52d676477b9255f66a05faca1bb9bc8becec03e4/tfstage-0.1.5-py2.py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "1e46aff3bafadb01712087ea5fc76f9b", "sha256": "8748c66ed7a66a2da9e8d6d8078c08c2e389343ab4666a1b96bea666c48f2f04" }, "downloads": -1, "filename": "tfstage-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1e46aff3bafadb01712087ea5fc76f9b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14038, "upload_time": "2017-07-06T23:28:45", "url": "https://files.pythonhosted.org/packages/a1/14/94404e2e447bd54669d09b391bd5f133f69f312f92f8addcbee4e8821567/tfstage-0.1.6-py2.py3-none-any.whl" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "f4f08a6d771d77e2ed8343e857bda64a", "sha256": "3379406898821bf3ac24ae78eea762e884b807425dc0e0c91bab4033b4e5fad7" }, "downloads": -1, "filename": "tfstage-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f4f08a6d771d77e2ed8343e857bda64a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14503, "upload_time": "2017-08-19T22:16:29", "url": "https://files.pythonhosted.org/packages/24/3d/d1525a58b94c45c6bc1c73f6f485a99d49ed6d273d09789d4f8a0ac3c49d/tfstage-0.1.7-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f4f08a6d771d77e2ed8343e857bda64a", "sha256": "3379406898821bf3ac24ae78eea762e884b807425dc0e0c91bab4033b4e5fad7" }, "downloads": -1, "filename": "tfstage-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f4f08a6d771d77e2ed8343e857bda64a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14503, "upload_time": "2017-08-19T22:16:29", "url": "https://files.pythonhosted.org/packages/24/3d/d1525a58b94c45c6bc1c73f6f485a99d49ed6d273d09789d4f8a0ac3c49d/tfstage-0.1.7-py2.py3-none-any.whl" } ] }