# tensorflow::ops::DiagPart

`#include <array_ops.h>`

Returns the diagonal part of the tensor.

## Summary

This operation returns a tensor with the `diagonal` part of the `input`. The `diagonal` part is computed as follows:

Assume `input` has dimensions `[D1,..., Dk, D1,..., Dk]`, then the output is a tensor of rank `k` with dimensions `[D1,..., Dk]` where:

`diagonal[i1,..., ik] = input[i1, ..., ik, i1,..., ik]`.

For example:

```# 'input' is [[1, 0, 0, 0]
[0, 2, 0, 0]
[0, 0, 3, 0]
[0, 0, 0, 4]]```

```tf.diag_part(input) ==> [1, 2, 3, 4]
```

Arguments:

• scope: A Scope object
• input: Rank k tensor where k is even and not zero.

Returns:

• `Output`: The extracted diagonal.

### Constructors and Destructors

`DiagPart(const ::tensorflow::Scope & scope, ::tensorflow::Input input)`

### Public attributes

`diagonal`
`::tensorflow::Output`
`operation`
`Operation`

### Public functions

`node() const `
`::tensorflow::Node *`
`operator::tensorflow::Input() const `
``` ```
``` ```
`operator::tensorflow::Output() const `
``` ```
``` ```

## Public attributes

### diagonal

`::tensorflow::Output diagonal`

### operation

`Operation operation`

## Public functions

### DiagPart

``` DiagPart(
const ::tensorflow::Scope & scope,
::tensorflow::Input input
)```

### node

`::tensorflow::Node * node() const `

### operator::tensorflow::Input

` operator::tensorflow::Input() const `

### operator::tensorflow::Output

` operator::tensorflow::Output() const `
[]
[]
{"lastModified": "Last updated 2020-04-20 UTC."}