#TensorFlow #ndarray

ndarray-tensorflow

Adapter for Tensorflow tensors to expose the ndarray API

3 releases (breaking)

✓ Uses Rust 2018 edition

0.3.0 Nov 28, 2019
0.2.0 May 21, 2019
0.1.0 May 4, 2019

#73 in Machine learning

Download history 24/week @ 2020-03-17 54/week @ 2020-03-24 5/week @ 2020-03-31 22/week @ 2020-04-07 17/week @ 2020-04-14 4/week @ 2020-04-21 4/week @ 2020-04-28 1/week @ 2020-05-05 8/week @ 2020-05-12 5/week @ 2020-05-19 4/week @ 2020-05-26 15/week @ 2020-06-02 56/week @ 2020-06-09 4/week @ 2020-06-16 4/week @ 2020-06-23

67 downloads per month
Used in 2 crates (via sticker)

Apache-2.0

8KB
123 lines

Introduction

crates.io docs.rs Travis CI

This crate provides a wrapper for the Tensor type of the tensorflow crate that can create ArrayView and ArrayViewMut instances. This makes it possible to use tensors through the ndarray API.


lib.rs:

Tensor wrapper that exposes the ndarray API.

This crate provides a small wrapper around the Tensor data structure of the tensorflow crate, to make it possible to use the ndarray API. This wrapper, NdTensor, provides the view and view_mut methods to respectively obtain ArrayView and ArrayViewMut instances.

The following example shows how to wrap a Tensor and obtain an ArrayView:

use ndarray::{arr2, Ix2};
use ndarray_tensorflow::NdTensor;
use tensorflow::Tensor;

let tensor = Tensor::new(&[2, 3])
    .with_values(&[0u32, 1, 2, 3, 4, 5])
    .unwrap();
let array: NdTensor<_, Ix2> =
    NdTensor::from_tensor(tensor)
    .unwrap();
assert_eq!(array.view(),
    arr2(&[[0, 1, 2], [3, 4, 5]]));

Dependencies

~5.5MB
~122K SLoC