release v1.11 (#54)

This commit is contained in:
shyallegro
2023-05-23 16:02:13 +03:00
committed by GitHub
parent 29c68abeb4
commit e54d8ebb99
540 changed files with 9858 additions and 7401 deletions

View File

@@ -1,58 +1,8 @@
<nav [overflowTrigger]="splitSize" (smOverflows)="navbarOverflowed($event)" [overflowDelay]="800" [class.minimized]="minimized">
<span [routerLink]="['execution']" routerLinkActive #rlaExecution="routerLinkActive" queryParamsHandling="preserve">
<sm-navbar-item header="execution" [active]="rlaExecution.isActive" class="small-nav"></sm-navbar-item>
</span>
<span [routerLink]="['hyper-params/hyper-param/_empty_']" queryParamsHandling="merge">
<sm-navbar-item header="configuration"
class="small-nav"
[active]="(routerConfig$| async)?.includes('hyper-params')"></sm-navbar-item>
</span>
<span [routerLink]="['artifacts']" routerLinkActive #rlaModel="routerLinkActive" queryParamsHandling="preserve">
<sm-navbar-item header="artifacts"
class="small-nav"
[active]="rlaModel.isActive"></sm-navbar-item>
</span>
<span [routerLink]="['general']" routerLinkActive #rlaGeneral="routerLinkActive" queryParamsHandling="preserve">
<sm-navbar-item header="info"
class="small-nav"
[active]="rlaGeneral.isActive"></sm-navbar-item>
</span>
<span [matMenuTriggerFor]="results" *ngIf="overflow">
<sm-navbar-item header="results"
class="small-nav"
[multi]="true"
[active]="rlaDebug.isActive || rlaPlots.isActive || rlaScalars.isActive || rlaLog.isActive"></sm-navbar-item>
</span>
<div class="d-inline-block" [style.visibility]="overflow ? 'hidden' : 'visible'">
<span [routerLink]="baseInfoRoute.concat(['log'])" routerLinkActive queryParamsHandling="preserve"
#rlaLog="routerLinkActive">
<sm-navbar-item class="small-nav" header="console" [active]="rlaLog.isActive"></sm-navbar-item>
</span>
<span [routerLink]="baseInfoRoute.concat(['metrics','scalar'])" routerLinkActive queryParamsHandling="preserve"
#rlaScalars="routerLinkActive">
<sm-navbar-item class="small-nav" header="Scalars" [active]="rlaScalars.isActive"></sm-navbar-item>
</span>
<span [routerLink]="baseInfoRoute.concat(['metrics','plots'])" routerLinkActive queryParamsHandling="preserve"
#rlaPlots="routerLinkActive">
<sm-navbar-item class="small-nav" header="PLOTS" [active]="rlaPlots.isActive"></sm-navbar-item>
</span>
<span [routerLink]="baseInfoRoute.concat(['debugImages'])" routerLinkActive queryParamsHandling="preserve"
#rlaDebug="routerLinkActive">
<sm-navbar-item class="small-nav" header="DEBUG SAMPLES" [active]="rlaDebug.isActive"></sm-navbar-item>
</span>
</div>
<mat-menu #results="matMenu">
<button mat-menu-item [routerLink]="baseInfoRoute.concat(['log'])" [class.active]="rlaLog.isActive">CONSOLE</button>
<button mat-menu-item [routerLink]="baseInfoRoute.concat(['metrics','scalar'])"
[class.active]="rlaScalars.isActive">SCALARS
</button>
<button mat-menu-item [routerLink]="baseInfoRoute.concat(['metrics','plots'])" [class.active]="rlaPlots.isActive">
PLOTS
</button>
<button mat-menu-item [routerLink]="baseInfoRoute.concat(['debugImages'])" [class.active]="rlaDebug.isActive">DEBUG
SAMPLES
</button>
</mat-menu>
<div class="tab-nav" [class.minimized]="minimized">
<span></span>
<sm-router-tab-nav-bar
[links]="links"
[splitSize]="splitSize"
></sm-router-tab-nav-bar>
<ng-content select="[refresh]"></ng-content>
</nav>
</div>

View File

@@ -1,31 +1,17 @@
@import "variables";
$output-tabs-height: 40px;
nav {
height: $output-tabs-height;
position: relative;
text-align: center;
.tab-nav {
display: grid;
grid-template-columns: 200px 1fr 200px;
border-bottom: 1px solid #efefef;
padding: 0 48px 0 24px;
.refresh-position {
position: absolute;
right: 16px;
top: 6px;
display: flex;
align-items: center;
&.minimized {
grid-template-columns: 0 1fr 60px;
}
.refreshIcon{
margin-right: 10px;
}
span.disabled {
pointer-events: none;
}
}
.mat-menu-item {
padding-left: 22px;
&.active {
border-left: 6px solid $purple;
padding-left: 16px;
@media(max-width: 1200px) {
grid-template-columns: 0 1fr 200px;
}
}
sm-router-tab-nav-bar {
overflow: hidden;
}

View File

@@ -1,38 +1,38 @@
import {Component, Input} from '@angular/core';
import {FeaturesEnum} from '~/business-logic/model/users/featuresEnum';
import {selectRouterConfig} from '@common/core/reducers/router-reducer';
import {Store} from '@ngrx/store';
import {ExperimentInfoState} from '../../reducers/experiment-info.reducer';
import {Observable} from 'rxjs';
import {ChangeDetectionStrategy, Component, Input} from '@angular/core';
import {Link} from '@common/shared/components/router-tab-nav-bar/router-tab-nav-bar.component';
@Component({
selector: 'sm-experiment-info-navbar',
templateUrl: './experiment-info-navbar.component.html',
styleUrls: ['./experiment-info-navbar.component.scss']
styleUrls: ['./experiment-info-navbar.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class ExperimentInfoNavbarComponent {
public featuresEnum = FeaturesEnum;
public routerConfig$: Observable<string[]>;
public baseInfoRoute: string[];
public overflow: boolean;
private _minimized: boolean;
links = [
{name: 'execution', url: ['execution']},
{name: 'configuration', url: ['hyper-params', 'hyper-param', '_empty_'], activeBy: 'hyper-params'},
{name: 'artifacts', url: ['artifacts']},
{name: 'info', url: ['general']},
{name: 'console', url: ['log'], output: true},
{name: 'scalars', url: ['metrics','scalar'], output: true},
{name: 'plots', url: ['metrics','plots'], output: true},
{name: 'debug samples', url: ['debugImages'], output: true},
] as Link[];
@Input() set minimized(minimized: boolean) {
this.baseInfoRoute = minimized ? ['info-output'] : [];
this.links = this.links.map(link => ({
...link,
url: (link as any).output ? this.baseInfoRoute.concat(link.url) : link.url
}));
this._minimized = minimized;
}
get minimized() {
get minimized(){
return this._minimized;
}
@Input() splitSize: number;
constructor(private store: Store<ExperimentInfoState>) {
this.routerConfig$ = this.store.select(selectRouterConfig);
}
navbarOverflowed($event: boolean) {
this.overflow = $event;
}
}

View File

@@ -16,7 +16,7 @@ import {CommonLayoutModule} from '@common/layout/layout.module';
import {DebugImagesModule} from '@common/debug-images/debug-images.module';
import {ExperimentInfoExecutionComponent} from '@common/experiments/containers/experiment-info-execution/experiment-info-execution.component';
import {MatSidenavModule} from '@angular/material/sidenav';
import {MatLegacyListModule as MatListModule} from '@angular/material/legacy-list';
import {MatListModule} from '@angular/material/list';
import {ExperimentOutputComponent} from './containers/experiment-ouptut/experiment-output.component';
import {ExperimentInfoNavbarComponent} from './containers/experiment-info-navbar/experiment-info-navbar.component';
import {ExperimentInfoHyperParametersComponent} from '@common/experiments/containers/experiment-info-hyper-parameters/experiment-info-hyper-parameters.component';
@@ -34,7 +34,6 @@ import {ExperimentArtifactsNavbarComponent} from '@common/experiments/dumb/exper
import {ExperimentInfoArtifactsComponent} from '@common/experiments/containers/experiment-info-aritfacts/experiment-info-artifacts.component';
import {ExperimentInfoHeaderComponent} from '@common/experiments/dumb/experiment-info-header/experiment-info-header.component';
import {ExperimentInfoTaskModelComponent} from '@common/experiments/containers/experiment-info-task-model/experiment-info-task-model.component';
import {ModelAutoPopulateDialogComponent} from '@common/experiments/dumb/model-auto-populate-dialog/model-auto-populate-dialog.component';
import {ExperimentOutputScalarsComponent} from '@common/experiments/containers/experiment-output-scalars/experiment-output-scalars.component';
import {ExperimentInfoModelComponent} from '@common/experiments/containers/experiment-info-model/experiment-info-model.component';
import {ExperimentInfoHyperParametersFormContainerComponent} from '@common/experiments/containers/experiment-info-hyper-parameters-form-container/experiment-info-hyper-parameters-form-container.component';
@@ -50,6 +49,8 @@ import {MAT_AUTOCOMPLETE_SCROLL_STRATEGY} from '@angular/material/autocomplete';
import {scrollFactory} from '@common/shared/utils/scroll-factory';
import {Overlay} from '@angular/cdk/overlay';
import {ExperimentsComponent} from '@common/experiments/experiments.component';
import {RouterTabNavBarComponent} from '@common/shared/components/router-tab-nav-bar/router-tab-nav-bar.component';
import {MatTabsModule} from '@angular/material/tabs';
@NgModule({
@@ -80,6 +81,9 @@ import {ExperimentsComponent} from '@common/experiments/experiments.component';
MatProgressSpinnerModule,
MatRadioModule,
ExperimentSharedModule,
RouterTabNavBarComponent,
MatTabsModule,
RouterTabNavBarComponent,
],
declarations: [
ExperimentsComponent,
@@ -97,7 +101,6 @@ import {ExperimentsComponent} from '@common/experiments/experiments.component';
ExperimentOutputModelViewComponent,
ExperimentExecutionSourceCodeComponent,
ExperimentOutputScalarsComponent,
ModelAutoPopulateDialogComponent,
ExperimentInfoHyperParametersComponent,
ExperimentInfoHyperParametersFormContainerComponent,
ExperimentArtifactsNavbarComponent,

View File

@@ -1,6 +1,6 @@
import {ActionReducerMap, createSelector} from '@ngrx/store';
import {experimentInfoReducer, ExperimentInfoState, initialState as infoInitialState} from './experiment-info.reducer';
import {experimentOutputReducer, ExperimentOutputState, experimentOutputInitState} from '@common/experiments/reducers/experiment-output.reducer';
import {experimentOutputReducer, ExperimentOutputState, experimentOutputInitState, ExperimentSettings} from '@common/experiments/reducers/experiment-output.reducer';
import {experimentsViewReducer, ExperimentsViewState, experimentsViewInitialState} from '@common/experiments/reducers/experiments-view.reducer';
import {IExperimentInfo} from '../shared/experiment-info.model';
import {TaskStatusEnum} from '~/business-logic/model/tasks/taskStatusEnum';
@@ -59,3 +59,7 @@ export const selectExperimentFormValidity = createSelector(selectExperimentInfoD
return !error;
});
export const selectSelectedModelSettings = createSelector(experimentOutput, selectSelectedModel,
(output, currentModel): ExperimentSettings =>
output.settingsList && output.settingsList.find((setting) => currentModel && setting.id === currentModel.id));

View File

@@ -4,16 +4,13 @@ import {SMSharedModule} from '@common/shared/shared.module';
import {ExperimentConverterService} from './services/experiment-converter.service';
import { ExperimentMenuComponent } from '@common/experiments/shared/components/experiment-menu/experiment-menu.component';
import {ExperimentMenuExtendedComponent} from '../containers/experiment-menu-extended/experiment-menu-extended.component';
import {GetParamMetricValuePipe} from '@common/experiments/dumb/experiments-table/hyper-param-metric-column/get-param-metric-value.pipe';
import {ExperimentHeaderComponent} from '@common/experiments/dumb/experiment-header/experiment-header.component';
import {SelectHyperParamsForCustomColComponent} from '@common/experiments/dumb/select-hyper-params-for-custom-col/select-hyper-params-for-custom-col.component';
import {ExperimentExecutionParametersComponent} from '@common/experiments/dumb/experiment-execution-parameters/experiment-execution-parameters.component';
import {CloneDialogComponent} from '@common/experiments/shared/components/clone-dialog/clone-dialog.component';
import {HyperParamMetricColumnComponent} from '@common/experiments/dumb/experiments-table/hyper-param-metric-column/hyper-param-metric-column.component';
import {ExperimentSystemTagsComponent} from '@common/experiments/shared/components/experiments-system-tags/experiment-system-tags.component';
import {AbortAllChildrenDialogComponent} from '@common/experiments/shared/components/abort-all-children-dialog/abort-all-children-dialog.component';
import {ExperimentsTableComponent} from '@common/experiments/dumb/experiments-table/experiments-table.component';
import {GetVariantWithoutRoundPipe} from '@common/experiments/dumb/experiments-table/hyper-param-metric-column/get-variant-without-round.pipe';
import {ChangeProjectDialogComponent} from '@common/experiments/shared/components/change-project-dialog/change-project-dialog.component';
import {ExperimentOutputPlotsComponent} from '@common/experiments/containers/experiment-output-plots/experiment-output-plots.component';
import {ExperimentCustomColsMenuComponent} from '@common/experiments/dumb/experiment-custom-cols-menu/experiment-custom-cols-menu.component';
@@ -41,6 +38,8 @@ import {EXPERIMENTS_OUTPUT_PREFIX} from '@common/experiments/actions/common-expe
import {EXPERIMENTS_INFO_PREFIX} from '@common/experiments/actions/common-experiments-info.actions';
import {experimentsReducers} from '~/features/experiments/reducers';
import {CommonExperimentConverterService} from '@common/experiments/shared/services/common-experiment-converter.service';
import {HyperParamMetricColumnComponent} from '@common/experiments/shared/components/hyper-param-metric-column/hyper-param-metric-column.component';
import {LabeledFormFieldDirective} from '@common/shared/directive/labeled-form-field.directive';
export const experimentSyncedKeys = [
'view.projectColumnsSortOrder',
@@ -89,9 +88,6 @@ const DECLARATIONS = [
AbortAllChildrenDialogComponent,
ExperimentExecutionParametersComponent,
ExperimentsTableComponent,
HyperParamMetricColumnComponent,
GetParamMetricValuePipe,
GetVariantWithoutRoundPipe,
ExperimentHeaderComponent,
ExperimentCustomColsMenuComponent,
SelectHyperParamsForCustomColComponent,
@@ -117,6 +113,8 @@ const DECLARATIONS = [
MatProgressSpinnerModule,
ScrollingModule,
CommonLayoutModule,
HyperParamMetricColumnComponent,
LabeledFormFieldDirective,
],
declarations : [...DECLARATIONS],
providers : [