diff --git a/mindspore/ccsrc/pipeline/jit/static_analysis/prim.cc b/mindspore/ccsrc/pipeline/jit/static_analysis/prim.cc index 1732d62fcc..0cc887c0a4 100644 --- a/mindspore/ccsrc/pipeline/jit/static_analysis/prim.cc +++ b/mindspore/ccsrc/pipeline/jit/static_analysis/prim.cc @@ -150,7 +150,8 @@ PrimitiveEvalImplMap &GetPrimitiveToEvalImplMap() { using mindspore::parse::PyObjectWrapper; EvalResultPtr StandardPrimEvaluator::EvalPrim(const AnalysisEnginePtr &engine, const AbstractBasePtrList &args) { - if (prim_ != prim::kPrimMakeTuple && prim_ != prim::kPrimSwitch) { + if (prim_ != prim::kPrimMakeTuple && prim_ != prim::kPrimSwitch && prim_ != prim::kPrimEnvSetItem && + prim_ != prim::kPrimEnvGetItem) { auto ret_abstract = AbstractEval(args); if (ret_abstract != nullptr) { MS_LOG(DEBUG) << "StandardPrimEvaluator eval Undetermined"; diff --git a/mindspore/common/tensor.py b/mindspore/common/tensor.py index a6db3da76f..e40fb8b23b 100644 --- a/mindspore/common/tensor.py +++ b/mindspore/common/tensor.py @@ -217,17 +217,20 @@ class IndexedSlices: A sparse representation of a set of tensor slices at given indices. An IndexedSlices is typically used to represent a subset of a larger - tensor dense of shape [LARGE0, D1, .. , DN] where LARGE0 >> D0. + tensor dense of shape [L0, D1, .. , DN] where L0 >> D0. + The values in indices are the indices in the first dimension of the slices - that have been extracted from the larger tensor. + that have been extracted from the larger tensor. + The dense tensor dense represented by an IndexedSlices slices has - `dense[slices.indices[i], :, :, :, ...] = slices.values[i, :, :, :, ...]`. + `dense[slices.indices[i], :, :, :, ...] = slices.values[i, :, :, :, ...]`. + IndexedSlices can only be used in `Cell`'s contruct method. Args: indices (Tensor): A 1-D integer Tensor of shape [D0]. values (Tensor): A Tensor of any dtype of shape [D0, D1, ..., Dn]. - dense_shape: (tuple): A integer tuple containing the shape + dense_shape (tuple): A integer tuple containing the shape of the corresponding dense tensor. Returns: @@ -254,8 +257,9 @@ class SparseTensor: A sparse representation of a set of nonzero elememts from a tensor at given indices. SparseTensor can only be used in `Cell`'s contruct method. + For a tensor dense, its SparseTensor(indices, values, dense_shape) has - `dense[indices[i]] = values[i]`. + `dense[indices[i]] = values[i]`. Args: indices (Tensor): A 2-D integer Tensor of shape `[N, ndims]`, @@ -263,7 +267,7 @@ class SparseTensor: the SparseTensor, respectively. values (Tensor): A 1-D tensor of any type and shape `[N]`, which supplies the values for each element in indices. - dense_shape: (tuple): A integer tuple of size `ndims`, + dense_shape (tuple): A integer tuple of size `ndims`, which specifies the dense_shape of the sparse tensor. Returns: