Package: coach-cli
Coach CLIThis utility is responsible for managing user interaction with Coach's services.Specifically you can:Sync local training data with remoteStart and watch training sessionsLocally evaluate modelsDownload modelsInstallationpip3install-Ucoach-cliTo do anything we must be logged incoachlogin
APIKey:*****
StorageKey:*****
StorageKeySecret:*****UsageUsage: coach [OPTIONS] COMMAND [ARGS]...

  💖 Welcome to the Coach CLI Utility! 💖

  Grab your API keys and view example usage at:
  https://coach.lkuich.com

  Happy training! ⚽

Options:
  --help  Show this message and exit.

Commands:
  cache     Caches a model locally.
  download  Downloads remote training data locally.  
  login     Authenticates with Coach.
  ls        Lists synced projects in Coach.
  new       Uploads your local training directory to Coach.
  predict   Locally runs model prediction on specified image.
  rm        Deletes synced training data.
  status    Retreives the status of models.
  sync      Syncs a local data directory with Coach.
  train     Starts a Coach training session.ExamplesWe're going to train aflowersdataset to recognise the following subjects:daisydandelionrosessunflowerstulipsStart by downloading and extracting our datasetwgethttps://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz
tar-xvfflower_photos.tgz
mvflower_photosflowers# Our model's going to be called flowersNote the structure of the dataset, this is important as it defines both the model and label namesflowers
    |-daisy
        |-10090824183_d02c613f10_m.jpg
        |-17040847367_b54d05bf52.jpg
        |-...
    |-dandelion
    |-roses
    |-sunflowers
    |-tulipsNow we're going to upload our dataset to CoachcoachnewflowersNote, if you make changes to this dataset, like delete some samples, you can sync your local directory with Coach by runningcoachsyncflowersNow 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.It's typically best to start high with training steps. The default is1000, and will do fine for this example. We're going to use the defaultmobilenet_v2_100_224as 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.coachtrainflowers# OR: coach train flowers --steps 1000 --module mobilenet_v2_100_224This will start a new training session. You can monitor its progress with thestatuscommand, by default with no arguments it'll show the status of all models. Since we're just interested in ourflowersmodel, well run with the--modelparametercoachstatus--modelflowers
-----------------------------------------------------
flowers|Training|2019-06-1514:30:20
-----------------------------------------------------Once complete, your status should look something like thiscoachstatus--modelflowers
-----------------------------------------------------
flowers|Completed|2019-06-1514:32:00
-----------------------------------------------------Now we can download and run our model locally on some training datacoachcacheflowers# Only have to run oncecoachpredictflowers/roses/13342823005_16d3df58df_n.jpgflowers{roses:0.90,tulips:0.05,sunflowers:0.03,daisy:0.01,dandelion:0.01}Our cached model is stored in:~/.coach/models/flowersConclusionsThat's all it takes to train a model end-to-end!For implementation, check out our client side SDK's:Python.NETUnity