# Model contract

In this page we’ve defined all possible values for certain type of fields of different manifests.

`kind: Model`

```
kind: Model
...
contract:
signature_name:
inputs:
field_name:
shape: scalar
type: int32
profile: numeric
metadata:
experiment: "demo"
...
```

Field | Definition | Type | Type Description |
---|---|---|---|

`shape` |
Describes the shape of the input/output tensor. | `scalar` |
Single element |

`-1` |
Arbitrary shape | ||

`1` , `2` , `3` , … |
Any positive number | ||

`type` |
Describes the data type of incoming tensor. | `bool` |
Boolean. |

`string` |
String in bytes. | ||

`half` , `float16` |
16-bit half-precision floating-point. | ||

`float32` |
32-bit single-precision floating-point. | ||

`double` , `float64` |
64-bit double-precision floating-point. | ||

`uint8` |
8-bit unsigned integer. | ||

`uint16` |
16-bit unsigned integer. | ||

`uint32` |
32-bit unsigned integer. | ||

`uint64` |
64-bit unsigned integer. | ||

`int8` |
8-bit signed integer. | ||

`int16` |
16-bit signed integer. | ||

`int32` |
32-bit signed integer. | ||

`int64` |
64-bit signed integer. | ||

`qint8` |
Quantized 8-bit signed integer. | ||

`quint8` |
Quantized 8-bit unsigned integer. | ||

`qint16` |
Quantized 16-bit signed integer. | ||

`quint16` |
Quantized 16-bit unsigned integer. | ||

`complex64` |
64-bit single-precision complex. | ||

`complex128` |
128-bit double-precision complex. | ||

`profile` |
Describes the nature of the data. | `text` |
Monitoring such fields will be done with text-oriented algorithms. |

`image` |
Monitoring such fields will be done with image-oriented algorithms. |
||

`numerical` |
Monitoring such fields will be done with numerical-oriented algorithms. |