diff --git a/src/data/Tensor.cpp b/src/data/Tensor.cpp
index 928046dc07866273a43567facecb3adfe3c0d3f4..e6f6cd799b48991556b8c99006ab94583459117c 100644
--- a/src/data/Tensor.cpp
+++ b/src/data/Tensor.cpp
@@ -236,10 +236,11 @@ void Tensor::resize(const std::vector<DimSize_t>& dims,
 }
 
 std::string Tensor::toString() const {
-    AIDGE_ASSERT(
-        mImpl && (undefined() || (dims() == std::vector<DimSize_t>({0})) ||
-                  (mImpl->hostPtr() != nullptr)),
-        "tensor should have a valid host pointer");
+
+    if (!hasImpl() || undefined()) {
+        // Return no value on no implementation or undefined size
+        return std::string("{}");
+    }
 
     // TODO: move lambda elsewhere?
     auto ptrToString = [](DataType dt, void* ptr, std::size_t idx) {