Beispiel #1
0
        public override async Task Init(object paData)
        {
            var files = paData as DragAndDropEventArgs;

            if (paData is TrainedNetModel netModel)
            {
                TrainedNetModel = netModel;
                return;
            }
            if (files == null)
            {
                return;
            }

            const string message = "Loading of file '{0}' failed. Make sure that it's not corrupted.";

            if (files.FilesPaths.ContainsKey(NetBuilderViewModel.DirtyNetModel))
            {
                IsWorking = true;
                await files.FilesPaths[NetBuilderViewModel.DirtyNetModel]
                .TryOrDefault <string, Exception>(File.ReadAllText, (ex, s) =>
                {
                    NotifyUser.NotifyUserByMessage(string.Format(message, s));
                }).Where(json => string.IsNullOrEmpty(json) == false)
                .Select(ParseTrainedModel).ForEach(model => TrainedNetModel = model).ExecuteQueryAsync();
                IsWorking = false;
            }
        }
Beispiel #2
0
 public override void Dispose()
 {
     OnDisposing();
     TrainedNetModel = null;
     _networkToTest?.Dispose();
     _networkToTest = null;
 }
        public override async void Execute(object parameter)
        {
            _isSaving = true;
            var task = Task.Run(() =>
            {
                try
                {
                    var model = ViewModel.GetTrainedModel();
                    if (model == null)
                    {
                        return;
                    }
                    var trainedModel = new TrainedNetModel((MementoConfigurationModel)model.Clone())
                    {
                        ModelName       = ViewModel.Model.ModelName,
                        DataSetMetaData = ViewModel.DataSetModel.MetaData
                    };
                    FilePickerHelper.SaveFile(trainedModel.ToJson(), NetBuilderViewModel.DirtyNetModel);
                }
                catch (Exception e)
                {
                    NotifyUser.NotifyUserByNotification(
                        new Notification()
                    {
                        Title   = "Ooooops!",
                        Message =
                            $"Something happend during generation of your code.",
                        Exception = e
                    });
                }
                finally
                {
                    _isSaving = false;
                    App.RunInUiThread(OnCanExecuteChanged);
                }
            });
            await task;

            task.Dispose();
        }