/// <summary> /// Создаёт новый экземляр запроса к данному состоянию нейросети. /// </summary> /// <param name="user">Пользователь, формирующий запрос.</param> public SkyNetworkRequest CreateRequest(ISkyUser user) { if (user == null) { throw new ArgumentNullException("user"); } this.CheckExists(); SkyNetworkRequest request = this.Context.ObjectAdapters.NetworkRequests.CreateObject(); request.NetworkID = this.Network.ID; request.NetworkVersionID = this.NetworkVersion.ID; request.NetworkStateID = this.ID; request.UserID = user.ID; request.Status = SkyNetworkRequestStatus.Creating; return(request); }
ISkyNetworkRequest ISkyNetwork.CreateRequest(ISkyUser user) { return(this.CreateRequest(user)); }
/// <summary> /// Создаёт новый экземляр запроса к активному состоянию активной версии данной нейросети. /// </summary> /// <param name="user">Пользователь, формирующий запрос.</param> public SkyNetworkRequest CreateRequest(ISkyUser user) { this.CheckActiveVersion(); return(this.ActiveVersion.CreateRequest(user)); }
ISkyTrainRequest ISkyNetworkVersion.CreateTrainRequest(int trainSchemeID, int initialStateID, ISkyUser user) { return(this.CreateTrainRequest(trainSchemeID, initialStateID, user)); }
/// <summary> /// Создаёт новый запрос тренировки нейросети для заданной схемы тренировок. /// Тренировка нейросети может быть инициализирована на основе другого состояния нейросети. /// </summary> /// <param name="trainSchemeID">Идентификатор схемы тренировок.</param> /// <param name="initialStateID">Идентификатор состояния нейросети, на основе которого будет выполнена тренировка. /// Если тренировка является первичной, необходимо передать значение 0.</param> /// <param name="user">Идентификатор схемы тренировок.</param> public SkyTrainRequest CreateTrainRequest(int trainSchemeID, int initialStateID, ISkyUser user) { if (trainSchemeID == 0) { throw new ArgumentNullException("trainSchemeID"); } if (user == null) { throw new ArgumentNullException("user"); } this.CheckExists(); //получаем схему тренировок. SkyTrainScheme trainScheme = this.Context.ObjectAdapters.TrainSchemes.GetObject(trainSchemeID, true); //проверяем, что схема тренировок принадлежит данной сети. if (trainScheme.Network.ID != this.Network.ID) { throw new Exception(string.Format("The training scheme with ID={0} does not belong to the neural network with ID={1} to which this version of the neural network belongs.", trainScheme.ID, this.Network.ID)); } //получаем инициализационное состояние. SkyNetworkState initialState = null; if (initialStateID > 0) { initialState = this.Context.ObjectAdapters.NetworkStates.GetObject(initialStateID, true); //проверяем, что инициализационное состояние принадлежит данной версии. if (initialState.NetworkVersion.ID != this.ID) { throw new Exception(string.Format("The network state with ID={0} does not belong to the version of the neural network with ID={1}.", initialState.ID, this.ID)); } } //создаём запрос тренировки. SkyTrainRequest trainRequest = this.Context.ObjectAdapters.TrainRequests.CreateObject(); trainRequest.NetworkID = this.Network.ID; trainRequest.NetworkVersionID = this.ID; trainRequest.TrainSchemeID = trainScheme.ID; trainRequest.InitialStateID = initialState != null ? initialState.ID : 0; trainRequest.UserID = user.ID; trainRequest.Status = SkyTrainRequestStatus.Creating; //возвращаем созданный экземпляр. return(trainRequest); }
/// <summary> /// Создаёт новый экземляр запроса к активному состоянию данной версии нейросети. /// </summary> /// <param name="user">Пользователь, формирующий запрос.</param> public SkyNetworkRequest CreateRequest(ISkyUser user) { this.CheckActiveNetworkState(); return(this.ActiveNetworkState.CreateRequest(user)); }