提交 60ed7ceb 编写于 作者: L Laura Pak 提交者: TensorFlow Release Automation

Re-enable testTensorListReserveWithNonScalarNumElements to work with mlir as well.

PiperOrigin-RevId: 466460987
上级 23cb0d30
......@@ -31,9 +31,11 @@ limitations under the License.
#include "tensorflow/core/framework/allocator.h"
#include "tensorflow/core/framework/op_kernel.h"
#include "tensorflow/core/framework/register_types.h"
#include "tensorflow/core/framework/tensor_shape.h"
#include "tensorflow/core/framework/tensor_types.h"
#include "tensorflow/core/framework/variant.h"
#include "tensorflow/core/framework/variant_op_registry.h"
#include "tensorflow/core/platform/errors.h"
namespace tensorflow {
......@@ -322,6 +324,11 @@ class TensorListReserve : public OpKernel {
void Compute(OpKernelContext* c) override {
PartialTensorShape element_shape;
OP_REQUIRES_OK(c, TensorShapeFromTensor(c->input(0), &element_shape));
OP_REQUIRES(
c, TensorShapeUtils::IsScalar(c->input(1).shape()),
errors::InvalidArgument(
"The num_elements to reserve must be a tensor size 1, but got ",
c->input(1).shape()));
int32_t num_elements = c->input(1).scalar<int32>()();
OP_REQUIRES(c, num_elements >= 0,
errors::InvalidArgument("The num_elements to reserve must be a "
......
......@@ -94,6 +94,16 @@ class ListOpsTest(test_util.TensorFlowTestCase, parameterized.TestCase):
l = list_ops.tensor_list_pop_back(l, element_dtype=dtypes.float32)
self.evaluate(l)
def testTensorListReserveWithNonScalarNumElements(self):
# list_kernels.cc in tf/core/kernels raises InvalidArgumentError, and
# tf_ops_n_z.cc in tf/compiler/mlir/tf/ir raises UnknownError.
with self.assertRaises((errors.InvalidArgumentError, errors.UnknownError)):
l = list_ops.tensor_list_reserve(
element_dtype=dtypes.float32,
element_shape=[2, 3],
num_elements=constant_op.constant([1, 1]))
self.evaluate(l)
def testPopUninitializedTensorUseListElementShape(self):
l = list_ops.tensor_list_reserve(
element_dtype=dtypes.float32, element_shape=[2, 3], num_elements=3)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册