# Iris commands

{% hint style="danger" %}
These docs are outdated! Please check out <https://docs.titanml.co> for the latest information on the TitanML platform.\
\
If there's anything that's not covered there, please contact us on our [discord](https://discord.com/invite/83RmHTjZgf).
{% endhint %}

[***Also see the API***](broken://pages/MHSKahtYKd1b81f4CIzr)

### Contents

* [iris ](#iris-post)[distil](#iris-post)
* [iris get](#iris-get)
* [iris status](#iris-status)
* [iris upload](#iris-upload)
* [iris download](#iris-download)
* [iris pull](#iris-pull-1)
* [iris makesafe](#iris-makesafe)

By default, these commands will send a request to the backend, then print a table with the response to the command line. If you would like to receive the response as a JSON object, simply add the tag `--json` after the command

### iris distil

Dispatches knowledge distillation jobs to the TitanML platform. You can look at all of the iris distil arguments by using this command: `iris distil --help.`

### iris finetune

Dispatches fine-tuning jobs to the TitanML platform.

For the above two commands, both `model` and `dataset` can be any of:&#x20;

* A HuggingFace model/dataset
* A UUID generated by `iris upload`
* The filepath of a model/dataset folder (which will then be uploaded as part of the job).

More explanation [here](/iris-documentation/titan-train-finetuning-service/using-iris-finetune/a-closer-look-at-iris-finetune-arguments.md), [here](/iris-documentation/titan-optimise-knowledge-distillation/using-iris-distil/a-closer-look-at-iris-distil-arguments.md) on how to launch a distillation or fine-tuning job.

The following arguments apply to both `iris distil` and `iris finetune`:

<table><thead><tr><th width="142">Command</th><th width="126">Shortcut</th><th width="161">Type</th><th>Description</th></tr></thead><tbody><tr><td>--model</td><td>-m</td><td>TEXT</td><td>The model to optimize. [default: None] [required] </td></tr><tr><td>--dataset</td><td>-d</td><td>TEXT</td><td>The dataset to optimize the model with. [default: None] [required]</td></tr><tr><td>--task</td><td>-t</td><td>[sequence_classification | question_answering | token_classification]</td><td>The task to optimize the model for.[default: None] [required]</td></tr><tr><td>--subset</td><td>-ss</td><td>TEXT</td><td>The subset of the dataset to use</td></tr><tr><td>--name</td><td>-n</td><td>TEXT</td><td>The name to use for this job. Visible in the                                                                            titan web interface.    </td></tr><tr><td>--file</td><td>-f</td><td>PATH</td><td>The .yaml file containing experiment parameters.</td></tr><tr><td>--short-run</td><td>-s</td><td><em>flag</em></td><td>Truncates the run after 1 batch and 1 epoch.                                                                            Will provide poor results, but useful to check that the model and dataset choices are valid.                                                      </td></tr><tr><td>--num-labels</td><td>-nl</td><td>INTEGER</td><td>Number of labels. Required for task sequence_classification [default: None]                                                                              </td></tr><tr><td>--text-fields</td><td>-tf</td><td>TEXT</td><td>Text fields. Required for task sequence_classification [default: None]   </td></tr><tr><td>--has-negative</td><td>-hn</td><td><em>flag</em></td><td>Has negative. Required for question_answering</td></tr><tr><td>--label-name</td><td>-ln</td><td>int:TEXT</td><td>The label names used for token classification</td></tr><tr><td>--help</td><td></td><td><em>flag</em></td><td>Show this message and exit.</td></tr></tbody></table>

You can use these additional arguments to specify hyperparameters when running a fine-tuning job:

| Command         | Shortcut | Type    | Description                                             |
| --------------- | -------- | ------- | ------------------------------------------------------- |
| --batch-size    | -bs      | INTEGER | The batch size to use for training. Default is 16.      |
| --learning-rate | -lr      | FLOAT   | The learning rate to use for training. Default is 2e-5. |
| --num-epochs    | -ne      | INTEGER | Number of epochs to finetune for. Default is 1.         |

### iris get

Gets objects from the TitanAPI. You can look at all of the Iris get commands by using this command: `iris get --help`

<figure><img src="/files/JUxMY2vHyiBgMFXkb44a" alt=""><figcaption></figcaption></figure>

### iris status

Retrieves the status of an experiment. You can look at all of the Iris status commands by using this command: `iris status --help`

<figure><img src="/files/Kn2ku24qsyK5wQjA4MOO" alt=""><figcaption></figcaption></figure>

### iris upload

Uploads local models and datasets by local filepath. You can look at all of the Iris upload commands by using `iris upload --help`.

<figure><img src="/files/jP92kWcwZMwdIjCcXarl" alt=""><figcaption></figcaption></figure>

### iris delete

Deletes a model or dataset (i.e. an artefact), or an entire experiment, from the TitanML store.

<figure><img src="/files/5uhuYE1S83TsD37u8oeH" alt=""><figcaption></figcaption></figure>

### iris download

Downloads a finished, Titan-optimised model directly onto your machine in the ONNX format.

<figure><img src="/files/XHNfSl0zNqNQ81vFarKv" alt=""><figcaption></figcaption></figure>

### iris pull

Downloads a finished, Titan-optimised model as a Docker image (usage is equivalent to `docker pull`).

<figure><img src="/files/Bpw5oSd2x0WnxKxn5uFY" alt=""><figcaption></figcaption></figure>

### iris infer

Runs inference by requesting the Triton Inference Server.

<figure><img src="/files/FIrsxIuvZu51Dq7ZWJwo" alt=""><figcaption></figcaption></figure>

### iris makesafe

Converts a model to the safetensors format, including those models which the `transformers` save method can't convert.

<figure><img src="/files/nZ6KxVwq4sJJj9kj3WRA" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://titanml.gitbook.io/iris-documentation/getting-started/iris-commands.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
