Browse Source

fix codedex

tags/v0.2.0-alpha
buxue 5 years ago
parent
commit
e1e11b841d
4 changed files with 21 additions and 13 deletions
  1. +1
    -1
      mindspore/ccsrc/pipeline/pipeline.cc
  2. +1
    -1
      mindspore/ccsrc/pipeline/pipeline_ge.cc
  3. +2
    -0
      mindspore/ccsrc/utils/contract.h
  4. +17
    -11
      mindspore/ccsrc/utils/profile.cc

+ 1
- 1
mindspore/ccsrc/pipeline/pipeline.cc View File

@@ -584,7 +584,7 @@ void ExecutorPy::ProcessVmArg(const py::tuple &args, const std::string &phase, V
if (ms_context->backend_policy() == kMsConvert && py::isinstance<py::array>(arg)) {
MS_LOG(EXCEPTION) << "Args[" << i << "] is numpy array, not tensor";
}
(*arg_list).push_back(arg);
arg_list->push_back(arg);
}

ResourcePtr res = GetResource(phase);


+ 1
- 1
mindspore/ccsrc/pipeline/pipeline_ge.cc View File

@@ -462,7 +462,7 @@ void ProcessGeArg(const std::map<std::string, ExecutorInfoPtr> &info, const py::
MS_LOG(EXCEPTION) << "Args convert error";
}
if (converted->isa<tensor::Tensor>()) {
(*inputs).push_back(converted->cast<tensor::TensorPtr>());
inputs->push_back(converted->cast<tensor::TensorPtr>());
} else {
MS_LOG(EXCEPTION) << "Args " << converted->ToString() << " is not tensor";
}


+ 2
- 0
mindspore/ccsrc/utils/contract.h View File

@@ -28,6 +28,7 @@ class ContractError : public std::logic_error {
public:
explicit ContractError(const std::string &msg) : std::logic_error(msg) {}
explicit ContractError(const char *msg) : std::logic_error(msg) {}
~ContractError() override = default;
};

struct Signatory {
@@ -60,6 +61,7 @@ class Ensures : public EnsuresAccess<T, R> {
}
template <class O, typename = std::enable_if_t<std::is_convertible_v<O, T>>>
Ensures(const Ensures<O, R> &other) : value_(other.get()) {}
~Ensures() = default;

T get() const { return value_; }
T &get() { return value_; }


+ 17
- 11
mindspore/ccsrc/utils/profile.cc View File

@@ -38,26 +38,32 @@ void PrintProfile(std::ostringstream &oss, const TimeInfo &time_info, int indent

void PrintTimeInfoMap(std::ostringstream &oss, const TimeInfoMap &dict, int indent = 0,
std::map<std::string, double> *sums = nullptr, const std::string &prefix = "") {
for (auto iter = dict.begin(); iter != dict.end(); ++iter) {
if (iter->second == nullptr) {
size_t count = 0;
for (const auto &iter : dict) {
count++;
if (iter.second == nullptr) {
continue;
}
// indent by multiples of 4 spaces.
auto name = iter->first.substr(TIME_INFO_PREFIX_NUM_LEN);
if (iter.first.size() < TIME_INFO_PREFIX_NUM_LEN) {
MS_LOG(EXCEPTION) << "In TimeInfoMap, the " << count << "th string key is " << iter.first
<< ", but the length is less than " << TIME_INFO_PREFIX_NUM_LEN;
}
auto name = iter.first.substr(TIME_INFO_PREFIX_NUM_LEN);
oss << std::setw(indent * 4) << ""
<< "[" << name << "]: " << iter->second->time_;
if (iter->second->dict_ != nullptr) {
oss << ", [" << iter->second->dict_->size() << "]";
<< "[" << name << "]: " << iter.second->time_;
if (iter.second->dict_ != nullptr) {
oss << ", [" << iter.second->dict_->size() << "]";
}
oss << "\n";

std::string newPrefix = prefix;
if (iter->first.find("Cycle ") == std::string::npos) {
newPrefix = prefix.empty() ? iter->first : prefix + "." + iter->first;
if (iter.first.find("Cycle ") == std::string::npos) {
newPrefix = prefix.empty() ? iter.first : prefix + "." + iter.first;
}
PrintProfile(oss, *iter->second, indent + 1, sums, newPrefix);
if (iter->second->dict_ == nullptr) {
(*sums)[newPrefix] += iter->second->time_;
PrintProfile(oss, *iter.second, indent + 1, sums, newPrefix);
if (iter.second->dict_ == nullptr) {
(*sums)[newPrefix] += iter.second->time_;
}
}
}


Loading…
Cancel
Save