var ValidSetPropertyExceptions = [
'InvalidValuesError',
+ 'NotSupportedError',
'TypeMismatchError',
'AbortError'
];
var ValidDisposeExceptions = [
'NotFoundError',
+ 'NoModificationAllowedError',
'AbortError'
];
var ValidModelCompileExceptions = [
'InvalidValuesError',
'TypeMismatchError',
+ 'NoModificationAllowedError',
'AbortError'
];
var ValidModelRunExceptions = [
'InvalidValuesError',
- 'TypeMismatchError'
+ 'InvalidStateError',
+ 'TypeMismatchError',
+ 'AbortError'
];
Model.prototype.run = function() {
var ValidModelSaveExceptions = [
'InvalidValuesError',
'TypeMismatchError',
+ "NoModificationAllowedError",
'AbortError'
];
try {
callArgs.savePath = tizen.filesystem.toURI(args.path);
} catch (e) {
- throw new WebAPIException(WebAPIException.InvalidValuesError, 'Invalid file path given');
+ throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid file path given');
}
if (tizen.filesystem.pathExists(callArgs.savePath)) {
if (native_.isFailure(result)) {
throw native_.getErrorObjectAndValidate(
result,
- ValidBasicExceptions,
+ ValidSetObjectExceptions,
AbortError
);
}
};
+var ValidSetObjectExceptions = [
+ 'InvalidValuesError',
+ 'TypeMismatchError',
+ 'NoModificationAllowedError',
+ 'NotSupportedError',
+ 'NotFound',
+ 'AbortError'
+];
+
Model.prototype.setDataset = function() {
var args = validator_.validateArgs(arguments, [
{
if (native_.isFailure(result)) {
throw native_.getErrorObjectAndValidate(
result,
- ValidBasicExceptions,
+ ValidSetObjectExceptions,
AbortError
);
}
if (native_.isFailure(result)) {
throw native_.getErrorObjectAndValidate(
result,
- ValidBasicExceptions,
+ ValidSetObjectExceptions,
AbortError
);
}
#include "common/tools.h"
+#include "ml_utils.h"
+
using common::ErrorCode;
using common::PlatformResult;
auto& model = models_[id];
std::lock_guard<std::mutex> modelLock(model->instanceLock);
+ if (model->isCompiled()) {
+ LoggerE("Recompilation of compiled model is not allowed");
+ return PlatformResult(ErrorCode::NO_MODIFICATION_ALLOWED_ERR,
+ "Recompilation of compiled model is not allowed");
+ }
+
std::stringstream ss;
for (const auto& opt : options) {
const auto& key = opt.first;
if (model->isCompiled()) {
LoggerE("Modification of compiled model");
model->instanceLock.unlock();
- return PlatformResult(ErrorCode::INVALID_STATE_ERR,
+ return PlatformResult(ErrorCode::NO_MODIFICATION_ALLOWED_ERR,
"Modification of compiled model not allowed");
}
LoggerE("Could not add layer to model: %d (%s)", ret_val,
ml_strerror(ret_val));
model->instanceLock.unlock();
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
model->layerIndices.push_back(layerId);
if (model->isCompiled()) {
LoggerE("Modification of compiled model");
model->instanceLock.unlock();
- return PlatformResult(ErrorCode::INVALID_STATE_ERR,
+ return PlatformResult(ErrorCode::NO_MODIFICATION_ALLOWED_ERR,
"Modification of compiled model not allowed");
}
LoggerE("Could not set optimizer for model: %d (%s)", ret_val,
ml_strerror(ret_val));
model->instanceLock.unlock();
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
if (model->optimizerIndex != INVALID_INDEX) {
if (models_.find(id) == models_.end()) {
LoggerE("Could not find model with id: %d", id);
- return PlatformResult(ErrorCode::ABORT_ERR, "Could not find model");
+ return PlatformResult(ErrorCode::NOT_FOUND_ERR, "Could not find model");
}
auto& model = models_[id];
LoggerE("Could not set dataset for model: %d (%s)", ret_val,
ml_strerror(ret_val));
model->instanceLock.unlock();
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
if (model->datasetIndex != INVALID_INDEX) {
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not save model to file: %d (%s)", ret_val,
ml_strerror(ret_val));
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
return PlatformResult();
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not load model from file: %d (%s)", ret_val,
ml_strerror(ret_val));
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
return PlatformResult();
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not destroy model: %d (%s)", ret_val, ml_strerror(ret_val));
model->instanceLock.unlock();
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
// erase model from map and use a shared pointer for related objects removal
int ret_val = ml_train_layer_create(&n_layer, type);
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not create layer: %s", ml_strerror(ret_val));
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
layers_[next_layer_id_] = std::make_shared<LayerWrapper>(n_layer);
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not set layer property: %d (%s)", ret_val,
ml_strerror(ret_val));
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
if (name == "name") {
- LoggerI("Layer name set detected - changing to: %s", value.c_str());
+ LoggerI("Layer name setting detected - changing to: %s", value.c_str());
layer->setName(value);
}
return PlatformResult();
int ret_val = ml_train_layer_destroy(layer->getNative());
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not destroy layer: %d (%s)", ret_val, ml_strerror(ret_val));
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
layers_.erase(id);
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not create optimizer: %d (%s)", ret_val,
ml_strerror(ret_val));
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
optimizers_[next_optimizer_id_] =
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not set optimizer property: %d (%s)", ret_val,
ml_strerror(ret_val));
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
return PlatformResult();
}
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not destroy optimizer: %d (%s)", ret_val,
ml_strerror(ret_val));
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
optimizers_.erase(id);
LoggerE("Could not add train file %s to dataset: %s", tmpString.c_str(),
ml_strerror(ret_val));
ml_train_dataset_destroy(n_dataset);
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
}
LoggerE("Could not add validation file %s to dataset: %s",
tmpString.c_str(), ml_strerror(ret_val));
ml_train_dataset_destroy(n_dataset);
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
}
LoggerE("Could not add test file %s to dataset: %s", tmpString.c_str(),
ml_strerror(ret_val));
ml_train_dataset_destroy(n_dataset);
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
}
return PlatformResult();
}
-// MK-TODO Add creating Dataset with generator
-
PlatformResult TrainerManager::DatasetSetProperty(
int id,
const std::string& name,
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not set dataset property for mode %d: %d (%s)", mode,
ret_val, ml_strerror(ret_val));
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
return PlatformResult();
if (ret_val != ML_ERROR_NONE) {
LoggerE("Could not destroy dataset: %d (%s)", ret_val,
ml_strerror(ret_val));
- return PlatformResult(ErrorCode::ABORT_ERR, ml_strerror(ret_val));
+
+ return util::ToPlatformResult(ret_val, ml_strerror(ret_val));
}
datasets_.erase(id);