diff options
author | Håvard Pettersen <havardpe@oath.com> | 2017-11-28 12:50:46 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@oath.com> | 2017-11-28 12:50:46 +0000 |
commit | b2f270067f9dd8ccdc6cf1da1a5b71680be7c89c (patch) | |
tree | 2738e4ced2b9aef5c6662d1e8eef5a6096017aca /eval/src | |
parent | 366549a4805df6e42d97c814216f6693ffc1a7b6 (diff) |
use binary format to convert tensors
Diffstat (limited to 'eval/src')
-rw-r--r-- | eval/src/vespa/eval/tensor/default_tensor_engine.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/eval/src/vespa/eval/tensor/default_tensor_engine.cpp b/eval/src/vespa/eval/tensor/default_tensor_engine.cpp index 2506e6fcf0e..dbca85744a3 100644 --- a/eval/src/vespa/eval/tensor/default_tensor_engine.cpp +++ b/eval/src/vespa/eval/tensor/default_tensor_engine.cpp @@ -12,6 +12,7 @@ #include <vespa/eval/eval/tensor_spec.h> #include <vespa/eval/eval/simple_tensor_engine.h> #include <vespa/eval/eval/operation.h> +#include <vespa/vespalib/objects/nbostream.h> #include <cassert> @@ -42,8 +43,9 @@ const Value &to_simple(const Value &value, Stash &stash) { if (auto wrapped = dynamic_cast<const WrappedSimpleTensor *>(tensor)) { return wrapped->get(); } - TensorSpec spec = tensor->engine().to_spec(*tensor); - return *stash.create<Value::UP>(eval::SimpleTensor::create(spec)); + nbostream data; + tensor->engine().encode(*tensor, data); + return *stash.create<Value::UP>(eval::SimpleTensor::decode(data)); } return value; } @@ -57,8 +59,9 @@ const Value &to_default(const Value &value, Stash &stash) { return stash.create<WrappedSimpleTensor>(*simple); } } - TensorSpec spec = tensor->engine().to_spec(*tensor); - return *stash.create<Value::UP>(default_engine().from_spec(spec)); + nbostream data; + tensor->engine().encode(*tensor, data); + return *stash.create<Value::UP>(default_engine().decode(data)); } return value; } |