diff --git a/mindspore/lite/examples/train_lenet/model/train_utils.py b/mindspore/lite/examples/train_lenet/model/train_utils.py index a9a0b175b7..9e8e3fa315 100644 --- a/mindspore/lite/examples/train_lenet/model/train_utils.py +++ b/mindspore/lite/examples/train_lenet/model/train_utils.py @@ -28,7 +28,7 @@ def TrainWrap(net, loss_fn=None, optimizer=None, weights=None): if weights is None: weights = ParameterTuple(net.trainable_params()) if optimizer is None: - optimizer = nn.Adam(weights, learning_rate=1e-2, beta1=0.9, beta2=0.999, eps=1e-8, use_locking=False, - use_nesterov=False, weight_decay=0.0, loss_scale=1.0) + optimizer = nn.Adam(weights, learning_rate=0.003, beta1=0.9, beta2=0.999, eps=1e-5, use_locking=False, + use_nesterov=False, weight_decay=4e-5, loss_scale=1.0) train_net = nn.TrainOneStepCell(loss_net, optimizer) return train_net diff --git a/mindspore/lite/examples/train_lenet/src/net_runner.cc b/mindspore/lite/examples/train_lenet/src/net_runner.cc index 13c12baefd..a44551aeaf 100644 --- a/mindspore/lite/examples/train_lenet/src/net_runner.cc +++ b/mindspore/lite/examples/train_lenet/src/net_runner.cc @@ -159,7 +159,7 @@ int NetRunner::InitDB() { } int NetRunner::TrainLoop() { - struct mindspore::lite::StepLRLambda step_lr_lambda(1, 0.8); + struct mindspore::lite::StepLRLambda step_lr_lambda(1, 0.7); mindspore::lite::LRScheduler step_lr_sched(mindspore::lite::StepLRLambda, static_cast(&step_lr_lambda), 1); mindspore::lite::LossMonitor lm(100); diff --git a/mindspore/lite/examples/transfer_learning/model/prepare_model.sh b/mindspore/lite/examples/transfer_learning/model/prepare_model.sh index 21f9dcb1ac..cc049cf48a 100755 --- a/mindspore/lite/examples/transfer_learning/model/prepare_model.sh +++ b/mindspore/lite/examples/transfer_learning/model/prepare_model.sh @@ -8,7 +8,7 @@ fi echo "============Exporting==========" if [ -n "$1" ]; then DOCKER_IMG=$1 - rm *.so* + rm -f *.so* docker run -w $PWD --runtime=nvidia -v /home/$USER:/home/$USER --privileged=true ${DOCKER_IMG} /bin/bash -c "python transfer_learning_export.py; chmod 444 transfer_learning_tod*.mindir; rm -rf __pycache__" else echo "MindSpore docker was not provided, attempting to run locally" diff --git a/mindspore/lite/src/runtime/kernel/arm/fp32_grad/bn_grad.cc b/mindspore/lite/src/runtime/kernel/arm/fp32_grad/bn_grad.cc index 67459b0e6f..b8b0428d84 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp32_grad/bn_grad.cc +++ b/mindspore/lite/src/runtime/kernel/arm/fp32_grad/bn_grad.cc @@ -18,7 +18,7 @@ #include #include #include - +#include #include #include @@ -51,6 +51,12 @@ int BNGradCPUKernel::Execute(int task_id) { auto *input_scale = in_tensors_.at(2); auto *input_mean = in_tensors_.at(3); auto *input_var = in_tensors_.at(4); + + auto kernel_name = this->name(); + if (kernel_name.find("FusedBatchNormGradCPU") != std::string::npos) { + input_mean = in_tensors_.at(4); + input_var = in_tensors_.at(5); + } auto bn_param = reinterpret_cast(op_parameter_); int stage = stage_; int thread_num = thread_num_; diff --git a/mindspore/lite/src/train/transfer_session.h b/mindspore/lite/src/train/transfer_session.h index ee6ea56a1a..69a08c8c54 100644 --- a/mindspore/lite/src/train/transfer_session.h +++ b/mindspore/lite/src/train/transfer_session.h @@ -64,11 +64,11 @@ class TransferSession : public lite::TrainSession { int CompileTransferGraph(); protected: - lite::LiteSession *backbone_session_; - char *lite_model_; + lite::LiteSession *backbone_session_ = nullptr; + char *lite_model_ = nullptr; std::vector combined_inputs_; std::vector> backbone_head_map_; - bool is_valid_; + bool is_valid_ = false; private: bool CompileFormatTransform(tensor::MSTensor *out, tensor::MSTensor *in, int *mask);