diff --git a/imperative/src/impl/interpreter/interpreter_impl.cpp b/imperative/src/impl/interpreter/interpreter_impl.cpp index d80f23e7bcd9f6188ad2cc72c2176a40c630b963..bf122982cabc90b0f3c48c3fc253e39de2842080 100644 --- a/imperative/src/impl/interpreter/interpreter_impl.cpp +++ b/imperative/src/impl/interpreter/interpreter_impl.cpp @@ -616,7 +616,8 @@ void ChannelImpl::produce_tensor(TensorInfo* dest, TensorPtr ptr) { dest->ptr = std::move(ptr); dest->evict_type = EvictType::NONE; dest->status = TensorInfo::Produced; - if (dest->size_exceeds_thd(state.options.dtr_evictee_minimum_size)) { + if (dest->pinned == 0 && + dest->size_exceeds_thd(state.options.dtr_evictee_minimum_size)) { m_dtr.insert_candidate(dest); } notify_tensor_unsafe(dest);