{ "info": { "author": "Loren Kuich", "author_email": "loren@lkuich.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Coach CLI\n\nThis utility is responsible for managing user interaction with Coach's services.\n\nSpecifically you can:\n\n- Sync local training data with remote\n- Start and watch training sessions\n- Locally evaluate models\n- Download models\n\n## Installation\n\n```bash\npip3 install -U coach-cli\n```\n\nTo do anything we must be logged in\n\n```bash\ncoach login\nAPI Key: *****\nStorage Key: *****\nStorage Key Secret: *****\n```\n\n## Usage\n\n```\nUsage: coach [OPTIONS] COMMAND [ARGS]...\n\n \ud83d\udc96 Welcome to the Coach CLI Utility! \ud83d\udc96\n\n Grab your API keys and view example usage at:\n https://coach.lkuich.com\n\n Happy training! \u26bd\n\nOptions:\n --help Show this message and exit.\n\nCommands:\n cache Caches a model locally.\n download Downloads remote training data locally. \n login Authenticates with Coach.\n ls Lists synced projects in Coach.\n new Uploads your local training directory to Coach.\n predict Locally runs model prediction on specified image.\n rm Deletes synced training data.\n status Retreives the status of models.\n sync Syncs a local data directory with Coach.\n train Starts a Coach training session.\n```\n\n## Examples\n\nWe're going to train a `flowers` dataset to recognise the following subjects:\n\n- daisy\n- dandelion\n- roses\n- sunflowers\n- tulips\n\nStart by downloading and extracting our dataset\n\n```bash\nwget https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz\ntar -xvf flower_photos.tgz\nmv flower_photos flowers # Our model's going to be called flowers\n```\n\nNote the structure of the dataset, this is important as it defines both the model and label names\n\n```\nflowers\n |-daisy\n |-10090824183_d02c613f10_m.jpg\n |-17040847367_b54d05bf52.jpg\n |-...\n |-dandelion\n |-roses\n |-sunflowers\n |-tulips\n```\n\nNow we're going to upload our dataset to Coach\n\n```bash\ncoach new flowers\n```\n\nNote, if you make changes to this dataset, like delete some samples, you can sync your local directory with Coach by running\n\n```bash\ncoach sync flowers\n```\n\nNow we're going to train. We must specify the name of our synced project, the number of training steps, and the base module to use for transfer learning. \nIt's typically best to start high with training steps. The default is `5000`, and will do fine for this example. We're going to use the default `mobilenet_v2_100_224` as our base model, since this gives us a decent tradeoff between final model size, speed, and quality. Make sure to consult the help docs to find our more about supported base modules and find the right fit for your model based on your needs.\n\n```bash\ncoach train flowers\n# OR: coach train flowers --steps 5000 --module mobilenet_v2_100_224\n```\n\nThis will start a new training session. You can monitor its progress with the `status` command, by default with no arguments it'll show the status of all models. Since we're just interested in our `flowers` model, well run with the `--model` parameter\n\n```bash\ncoach status --model flowers\n-----------------------------------------------------\nflowers | Training | 2019-06-15 14:30:20\n-----------------------------------------------------\n```\n\nOnce complete, your status should look something like this\n\n```bash\ncoach status --model flowers\n-----------------------------------------------------\nflowers | Completed | 2019-06-15 14:32:00\n-----------------------------------------------------\n```\n\nNow we can download and run our model locally on some training data\n\n```bash\ncoach cache flowers # Only have to run once\ncoach predict flowers/roses/13342823005_16d3df58df_n.jpg flowers\n{ roses: 0.90, tulips: 0.05, sunflowers: 0.03, daisy: 0.01, dandelion: 0.01 }\n```\n\nOur cached model is stored in: \n`~/.coach/models/flowers`\n\n## Conclusions\n\nThat's all it takes to train a model end-to-end!\n\nFor implementation, check out our client side SDK's:\n\n- [Python](https://github.com/lkuich/coach-python)\n- [.NET](https://github.com/lkuich/coach-dotnet)\n- [Unity](https://github.com/lkuich/coach-unity)\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://coach.lkuich.com", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "coach-cli", "package_url": "https://pypi.org/project/coach-cli/", "platform": "", "project_url": "https://pypi.org/project/coach-cli/", "project_urls": { "Homepage": "https://coach.lkuich.com" }, "release_url": "https://pypi.org/project/coach-cli/0.94/", "requires_dist": [ "Click", "boto3", "requests", "coach-ml (==0.14)" ], "requires_python": "", "summary": "CLI Utility for interacting with coach", "version": "0.94" }, "last_serial": 5893992, "releases": { "0.91": [ { "comment_text": "", "digests": { "md5": "29e021759b145e5ccaab8362020d4827", "sha256": "58371e953496d46a9d7dc1d02abde0e49785755c7d142bfa6b861cda7dca930f" }, "downloads": -1, "filename": "coach_cli-0.91-py3-none-any.whl", "has_sig": false, "md5_digest": "29e021759b145e5ccaab8362020d4827", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8195, "upload_time": "2019-08-09T02:43:39", "url": "https://files.pythonhosted.org/packages/71/c4/74f8cce0150771035d01892c08c5847b26b752f36550bb33778725e1594a/coach_cli-0.91-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "471dc9547aa5ddd2e543225a7f696168", "sha256": "ba65378096ab76fd5a713ee4f7c1a8a69b56722ff36e662adb17803085ea4e38" }, "downloads": -1, "filename": "coach-cli-0.91.tar.gz", "has_sig": false, "md5_digest": "471dc9547aa5ddd2e543225a7f696168", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7255, "upload_time": "2019-08-09T02:43:41", "url": "https://files.pythonhosted.org/packages/71/dd/129eec0b84044627159b482eeabf276dd87f2b026bb607e31d4a229a7587/coach-cli-0.91.tar.gz" } ], "0.92": [ { "comment_text": "", "digests": { "md5": "227a4be0ef4251601785da488be00d7d", "sha256": "936b86b6ca05a0c74f9aec0ee2fdd30eb0c778a5cd5d70efeda1a23508c85a0f" }, "downloads": -1, "filename": "coach_cli-0.92-py3-none-any.whl", "has_sig": false, "md5_digest": "227a4be0ef4251601785da488be00d7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8201, "upload_time": "2019-09-23T20:33:48", "url": "https://files.pythonhosted.org/packages/13/2a/c5c35ac9b965e607d5fe24faf0cb1857fde91ebdf081b6aae7676ceacd25/coach_cli-0.92-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80ece256789c70bd0f4e9eb5930cf448", "sha256": "9a81b54d1ac3322da2407798516aeddc5830689b5ed6ac29cecc893d828ad4a8" }, "downloads": -1, "filename": "coach-cli-0.92.tar.gz", "has_sig": false, "md5_digest": "80ece256789c70bd0f4e9eb5930cf448", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7189, "upload_time": "2019-09-23T20:33:50", "url": "https://files.pythonhosted.org/packages/a5/67/b45de2e2fae101a957e86b26c0d646f03a8ab4b716f75eb84e9d767f250a/coach-cli-0.92.tar.gz" } ], "0.94": [ { "comment_text": "", "digests": { "md5": "ea417b4a740483668646e1a60b44b8df", "sha256": "d5b9434bc2aed99f573e6de1c08f6f239a37b355f031a18aa43f69d0885c42f1" }, "downloads": -1, "filename": "coach_cli-0.94-py3-none-any.whl", "has_sig": false, "md5_digest": "ea417b4a740483668646e1a60b44b8df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8293, "upload_time": "2019-09-27T04:01:55", "url": "https://files.pythonhosted.org/packages/29/84/99fbe07cab67339c420ceba7ea029f3b79b65c6776eaa497ce25502aee02/coach_cli-0.94-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6da36992122b59fd5f4af5a9f3f1ae0f", "sha256": "bb3ce9e503d7dde12538ea9976e56d1e9e90f62c6fa80af55529014b1ac76e4a" }, "downloads": -1, "filename": "coach-cli-0.94.tar.gz", "has_sig": false, "md5_digest": "6da36992122b59fd5f4af5a9f3f1ae0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7288, "upload_time": "2019-09-27T04:01:57", "url": "https://files.pythonhosted.org/packages/33/8d/020dd4595a709760b1120f846787ef46ac8ed0822611bdf1db696a1a43c4/coach-cli-0.94.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ea417b4a740483668646e1a60b44b8df", "sha256": "d5b9434bc2aed99f573e6de1c08f6f239a37b355f031a18aa43f69d0885c42f1" }, "downloads": -1, "filename": "coach_cli-0.94-py3-none-any.whl", "has_sig": false, "md5_digest": "ea417b4a740483668646e1a60b44b8df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8293, "upload_time": "2019-09-27T04:01:55", "url": "https://files.pythonhosted.org/packages/29/84/99fbe07cab67339c420ceba7ea029f3b79b65c6776eaa497ce25502aee02/coach_cli-0.94-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6da36992122b59fd5f4af5a9f3f1ae0f", "sha256": "bb3ce9e503d7dde12538ea9976e56d1e9e90f62c6fa80af55529014b1ac76e4a" }, "downloads": -1, "filename": "coach-cli-0.94.tar.gz", "has_sig": false, "md5_digest": "6da36992122b59fd5f4af5a9f3f1ae0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7288, "upload_time": "2019-09-27T04:01:57", "url": "https://files.pythonhosted.org/packages/33/8d/020dd4595a709760b1120f846787ef46ac8ed0822611bdf1db696a1a43c4/coach-cli-0.94.tar.gz" } ] }