Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
nni
Commits
5fc73ba6
Unverified
Commit
5fc73ba6
authored
Aug 27, 2021
by
liuzhe-lz
Committed by
GitHub
Aug 27, 2021
Browse files
Refactor NNI Manager UT (Stage 1) - setup toolchain (#4109)
parent
2b9f5f8c
Changes
121
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
76 additions
and
115 deletions
+76
-115
ts/nni_manager/training_service/kubernetes/adl/adlTrainingService.ts
...ger/training_service/kubernetes/adl/adlTrainingService.ts
+6
-8
ts/nni_manager/training_service/kubernetes/azureStorageClientUtils.ts
...er/training_service/kubernetes/azureStorageClientUtils.ts
+5
-7
ts/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerApiClient.ts
...netes/frameworkcontroller/frameworkcontrollerApiClient.ts
+1
-3
ts/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerConfig.ts
...bernetes/frameworkcontroller/frameworkcontrollerConfig.ts
+2
-4
ts/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerJobInfoCollector.ts
...rameworkcontroller/frameworkcontrollerJobInfoCollector.ts
+0
-2
ts/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerJobRestServer.ts
...s/frameworkcontroller/frameworkcontrollerJobRestServer.ts
+1
-3
ts/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts
...frameworkcontroller/frameworkcontrollerTrainingService.ts
+11
-13
ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowApiClient.ts
...training_service/kubernetes/kubeflow/kubeflowApiClient.ts
+1
-3
ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowConfig.ts
...er/training_service/kubernetes/kubeflow/kubeflowConfig.ts
+2
-4
ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowJobInfoCollector.ts
...g_service/kubernetes/kubeflow/kubeflowJobInfoCollector.ts
+0
-2
ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowJobRestServer.ts
...ning_service/kubernetes/kubeflow/kubeflowJobRestServer.ts
+1
-3
ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowTrainingService.ts
...ng_service/kubernetes/kubeflow/kubeflowTrainingService.ts
+11
-13
ts/nni_manager/training_service/kubernetes/kubernetesApiClient.ts
...anager/training_service/kubernetes/kubernetesApiClient.ts
+1
-3
ts/nni_manager/training_service/kubernetes/kubernetesConfig.ts
...i_manager/training_service/kubernetes/kubernetesConfig.ts
+1
-3
ts/nni_manager/training_service/kubernetes/kubernetesData.ts
ts/nni_manager/training_service/kubernetes/kubernetesData.ts
+1
-3
ts/nni_manager/training_service/kubernetes/kubernetesJobInfoCollector.ts
...training_service/kubernetes/kubernetesJobInfoCollector.ts
+4
-6
ts/nni_manager/training_service/kubernetes/kubernetesJobRestServer.ts
...er/training_service/kubernetes/kubernetesJobRestServer.ts
+1
-3
ts/nni_manager/training_service/kubernetes/kubernetesTrainingService.ts
.../training_service/kubernetes/kubernetesTrainingService.ts
+8
-10
ts/nni_manager/training_service/local/gpuScheduler.ts
ts/nni_manager/training_service/local/gpuScheduler.ts
+6
-8
ts/nni_manager/training_service/local/localTrainingService.ts
...ni_manager/training_service/local/localTrainingService.ts
+13
-14
No files found.
ts/nni_manager/training_service/kubernetes/adl/adlTrainingService.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
fs
from
'
fs
'
;
import
*
as
component
from
'
../../../common/component
'
;
import
fs
from
'
fs
'
;
import
*
as
component
from
'
common/component
'
;
import
{
String
}
from
'
typescript-string-operations
'
;
import
{
getExperimentId
}
from
'
../../../
common/experimentStartupInfo
'
;
import
{
getExperimentId
}
from
'
common/experimentStartupInfo
'
;
import
{
NNIManagerIpConfig
,
TrialJobApplicationForm
,
TrialJobDetail
,
TrialJobStatus
}
from
'
../../../
common/trainingService
'
;
import
{
delay
,
generateParamFileName
,
getVersion
,
uniqueString
}
from
'
../../../
common/utils
'
;
import
{
TrialConfigMetadataKey
}
from
'
../..
/common/trialConfigMetadataKey
'
;
}
from
'
common/trainingService
'
;
import
{
delay
,
generateParamFileName
,
getVersion
,
uniqueString
}
from
'
common/utils
'
;
import
{
TrialConfigMetadataKey
}
from
'
training_service
/common/trialConfigMetadataKey
'
;
import
{
KubernetesTrialJobDetail
}
from
'
../kubernetesData
'
;
import
{
KubernetesTrainingService
}
from
'
../kubernetesTrainingService
'
;
import
{
AdlClientFactory
}
from
'
./adlApiClient
'
...
...
ts/nni_manager/training_service/kubernetes/azureStorageClientUtils.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
azureStorage
from
'
azure-storage
'
;
import
*
as
fs
from
'
fs
'
;
import
*
as
path
from
'
path
'
;
import
azureStorage
from
'
azure-storage
'
;
import
fs
from
'
fs
'
;
import
path
from
'
path
'
;
import
{
Deferred
}
from
'
ts-deferred
'
;
import
{
String
}
from
'
typescript-string-operations
'
;
import
{
getLogger
}
from
'
../../
common/log
'
;
import
{
mkDirP
}
from
'
../../
common/utils
'
;
import
{
getLogger
}
from
'
common/log
'
;
import
{
mkDirP
}
from
'
common/utils
'
;
export
namespace
AzureStorageClientUtility
{
...
...
ts/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerApiClient.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
fs
from
'
fs
'
;
import
fs
from
'
fs
'
;
import
{
GeneralK8sClient
,
KubernetesCRDClient
}
from
'
../kubernetesApiClient
'
;
/**
...
...
ts/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerConfig.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
assert
from
'
assert
'
;
import
assert
from
'
assert
'
;
import
{
AzureStorage
,
KeyVaultConfig
,
KubernetesClusterConfig
,
KubernetesClusterConfigAzure
,
KubernetesClusterConfigNFS
,
...
...
@@ -49,7 +47,7 @@ export class FrameworkControllerTrialConfig extends KubernetesTrialConfig {
export
class
FrameworkControllerClusterConfig
extends
KubernetesClusterConfig
{
public
readonly
serviceAccountName
:
string
;
constructor
(
apiVersion
:
string
,
serviceAccountName
:
string
,
configPath
?:
string
,
namespace
?:
string
)
{
constructor
(
apiVersion
:
string
,
serviceAccountName
:
string
,
_
configPath
?:
string
,
namespace
?:
string
)
{
super
(
apiVersion
,
undefined
,
namespace
);
this
.
serviceAccountName
=
serviceAccountName
;
}
...
...
ts/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerJobInfoCollector.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
{
KubernetesCRDClient
}
from
'
../kubernetesApiClient
'
;
import
{
KubernetesTrialJobDetail
}
from
'
../kubernetesData
'
;
import
{
KubernetesJobInfoCollector
}
from
'
../kubernetesJobInfoCollector
'
;
...
...
ts/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerJobRestServer.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
component
from
'
../../../common/component
'
;
import
*
as
component
from
'
common/component
'
;
import
{
KubernetesJobRestServer
}
from
'
../kubernetesJobRestServer
'
;
import
{
FrameworkControllerTrainingService
}
from
'
./frameworkcontrollerTrainingService
'
;
...
...
ts/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerTrainingService.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
assert
from
'
assert
'
;
import
*
as
cpp
from
'
child-process-promise
'
;
import
*
as
fs
from
'
fs
'
;
import
*
as
path
from
'
path
'
;
import
*
as
component
from
'
../../../common/component
'
;
import
{
getExperimentId
}
from
'
../../../common/experimentStartupInfo
'
;
import
assert
from
'
assert
'
;
import
cpp
from
'
child-process-promise
'
;
import
fs
from
'
fs
'
;
import
path
from
'
path
'
;
import
*
as
component
from
'
common/component
'
;
import
{
getExperimentId
}
from
'
common/experimentStartupInfo
'
;
import
{
NNIManagerIpConfig
,
TrialJobApplicationForm
,
TrialJobDetail
,
TrialJobStatus
}
from
'
../../../
common/trainingService
'
;
import
{
delay
,
generateParamFileName
,
getExperimentRootDir
,
uniqueString
}
from
'
../../../
common/utils
'
;
import
{
CONTAINER_INSTALL_NNI_SHELL_FORMAT
}
from
'
../..
/common/containerJobData
'
;
import
{
TrialConfigMetadataKey
}
from
'
../..
/common/trialConfigMetadataKey
'
;
import
{
validateCodeDir
}
from
'
../..
/common/util
'
;
}
from
'
common/trainingService
'
;
import
{
delay
,
generateParamFileName
,
getExperimentRootDir
,
uniqueString
}
from
'
common/utils
'
;
import
{
CONTAINER_INSTALL_NNI_SHELL_FORMAT
}
from
'
training_service
/common/containerJobData
'
;
import
{
TrialConfigMetadataKey
}
from
'
training_service
/common/trialConfigMetadataKey
'
;
import
{
validateCodeDir
}
from
'
training_service
/common/util
'
;
import
{
NFSConfig
}
from
'
../kubernetesConfig
'
;
import
{
KubernetesTrialJobDetail
}
from
'
../kubernetesData
'
;
import
{
KubernetesTrainingService
}
from
'
../kubernetesTrainingService
'
;
...
...
ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowApiClient.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
fs
from
'
fs
'
;
import
fs
from
'
fs
'
;
import
{
GeneralK8sClient
,
KubernetesCRDClient
}
from
'
../kubernetesApiClient
'
;
import
{
KubeflowOperator
}
from
'
./kubeflowConfig
'
;
...
...
ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowConfig.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
assert
from
'
assert
'
;
import
{
MethodNotImplementedError
}
from
'
../../../common/errors
'
;
import
assert
from
'
assert
'
;
import
{
MethodNotImplementedError
}
from
'
common/errors
'
;
import
{
AzureStorage
,
KeyVaultConfig
,
KubernetesClusterConfig
,
KubernetesClusterConfigAzure
,
KubernetesClusterConfigNFS
,
KubernetesStorageKind
,
KubernetesTrialConfig
,
KubernetesTrialConfigTemplate
,
NFSConfig
,
StorageConfig
}
from
'
../kubernetesConfig
'
;
...
...
ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowJobInfoCollector.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
{
KubernetesCRDClient
}
from
'
../kubernetesApiClient
'
;
import
{
KubernetesTrialJobDetail
}
from
'
../kubernetesData
'
;
import
{
KubernetesJobInfoCollector
}
from
'
../kubernetesJobInfoCollector
'
;
...
...
ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowJobRestServer.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
component
from
'
../../../common/component
'
;
import
*
as
component
from
'
common/component
'
;
import
{
KubernetesJobRestServer
}
from
'
../kubernetesJobRestServer
'
;
import
{
KubeflowTrainingService
}
from
'
./kubeflowTrainingService
'
;
...
...
ts/nni_manager/training_service/kubernetes/kubeflow/kubeflowTrainingService.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
assert
from
'
assert
'
;
import
cpp
from
'
child-process-promise
'
;
import
fs
from
'
fs
'
;
import
path
from
'
path
'
;
import
*
as
component
from
'
common/component
'
;
import
*
as
assert
from
'
assert
'
;
import
*
as
cpp
from
'
child-process-promise
'
;
import
*
as
fs
from
'
fs
'
;
import
*
as
path
from
'
path
'
;
import
*
as
component
from
'
../../../common/component
'
;
import
{
getExperimentId
}
from
'
../../../common/experimentStartupInfo
'
;
import
{
getExperimentId
}
from
'
common/experimentStartupInfo
'
;
import
{
NNIManagerIpConfig
,
TrialJobApplicationForm
,
TrialJobDetail
,
TrialJobStatus
}
from
'
../../../
common/trainingService
'
;
import
{
delay
,
generateParamFileName
,
getExperimentRootDir
,
uniqueString
}
from
'
../../../
common/utils
'
;
import
{
CONTAINER_INSTALL_NNI_SHELL_FORMAT
}
from
'
../..
/common/containerJobData
'
;
import
{
TrialConfigMetadataKey
}
from
'
../..
/common/trialConfigMetadataKey
'
;
import
{
validateCodeDir
}
from
'
../..
/common/util
'
;
}
from
'
common/trainingService
'
;
import
{
delay
,
generateParamFileName
,
getExperimentRootDir
,
uniqueString
}
from
'
common/utils
'
;
import
{
CONTAINER_INSTALL_NNI_SHELL_FORMAT
}
from
'
training_service
/common/containerJobData
'
;
import
{
TrialConfigMetadataKey
}
from
'
training_service
/common/trialConfigMetadataKey
'
;
import
{
validateCodeDir
}
from
'
training_service
/common/util
'
;
import
{
NFSConfig
}
from
'
../kubernetesConfig
'
;
import
{
KubernetesTrialJobDetail
}
from
'
../kubernetesData
'
;
import
{
KubernetesJobRestServer
}
from
'
../kubernetesJobRestServer
'
;
...
...
ts/nni_manager/training_service/kubernetes/kubernetesApiClient.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
// eslint-disable-next-line @typescript-eslint/camelcase
import
{
Client1_10
,
config
}
from
'
kubernetes-client
'
;
import
{
getLogger
,
Logger
}
from
'
../../
common/log
'
;
import
{
getLogger
,
Logger
}
from
'
common/log
'
;
/**
* This function uses the environment variable
...
...
ts/nni_manager/training_service/kubernetes/kubernetesConfig.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
export
type
KubernetesStorageKind
=
'
nfs
'
|
'
azureStorage
'
|
'
pvc
'
;
import
{
MethodNotImplementedError
}
from
'
../../
common/errors
'
;
import
{
MethodNotImplementedError
}
from
'
common/errors
'
;
export
abstract
class
KubernetesClusterConfig
{
public
readonly
storage
?:
KubernetesStorageKind
;
...
...
ts/nni_manager/training_service/kubernetes/kubernetesData.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
{
TrialJobApplicationForm
,
TrialJobDetail
,
TrialJobStatus
}
from
'
../../common/trainingService
'
;
import
{
TrialJobApplicationForm
,
TrialJobDetail
,
TrialJobStatus
}
from
'
common/trainingService
'
;
/**
* KubeflowTrialJobDetail
...
...
ts/nni_manager/training_service/kubernetes/kubernetesJobInfoCollector.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
assert
from
'
assert
'
;
import
{
MethodNotImplementedError
,
NNIError
,
NNIErrorNames
}
from
'
../../common/errors
'
;
import
{
getLogger
,
Logger
}
from
'
../../common/log
'
;
import
{
TrialJobStatus
}
from
'
../../common/trainingService
'
;
import
assert
from
'
assert
'
;
import
{
MethodNotImplementedError
,
NNIError
,
NNIErrorNames
}
from
'
common/errors
'
;
import
{
getLogger
,
Logger
}
from
'
common/log
'
;
import
{
TrialJobStatus
}
from
'
common/trainingService
'
;
import
{
KubernetesCRDClient
}
from
'
./kubernetesApiClient
'
;
import
{
KubernetesTrialJobDetail
}
from
'
./kubernetesData
'
;
...
...
ts/nni_manager/training_service/kubernetes/kubernetesJobRestServer.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
{
Inject
}
from
'
typescript-ioc
'
;
import
*
as
component
from
'
../../
common/component
'
;
import
*
as
component
from
'
common/component
'
;
import
{
ClusterJobRestServer
}
from
'
../common/clusterJobRestServer
'
;
import
{
KubernetesTrainingService
}
from
'
./kubernetesTrainingService
'
;
...
...
ts/nni_manager/training_service/kubernetes/kubernetesTrainingService.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
cpp
from
'
child-process-promise
'
;
import
path
from
'
path
'
;
import
*
as
cpp
from
'
child-process-promise
'
;
import
*
as
path
from
'
path
'
;
import
*
as
azureStorage
from
'
azure-storage
'
;
import
azureStorage
from
'
azure-storage
'
;
import
{
EventEmitter
}
from
'
events
'
;
import
{
Base64
}
from
'
js-base64
'
;
import
{
String
}
from
'
typescript-string-operations
'
;
import
{
getExperimentId
}
from
'
../../
common/experimentStartupInfo
'
;
import
{
getLogger
,
Logger
}
from
'
../../
common/log
'
;
import
{
MethodNotImplementedError
}
from
'
../../
common/errors
'
;
import
{
getExperimentId
}
from
'
common/experimentStartupInfo
'
;
import
{
getLogger
,
Logger
}
from
'
common/log
'
;
import
{
MethodNotImplementedError
}
from
'
common/errors
'
;
import
{
NNIManagerIpConfig
,
TrialJobDetail
,
TrialJobMetric
}
from
'
../../
common/trainingService
'
;
import
{
delay
,
getExperimentRootDir
,
getIPV4Address
,
getJobCancelStatus
,
getVersion
,
uniqueString
}
from
'
../../
common/utils
'
;
}
from
'
common/trainingService
'
;
import
{
delay
,
getExperimentRootDir
,
getIPV4Address
,
getJobCancelStatus
,
getVersion
,
uniqueString
}
from
'
common/utils
'
;
import
{
AzureStorageClientUtility
}
from
'
./azureStorageClientUtils
'
;
import
{
GeneralK8sClient
,
KubernetesCRDClient
}
from
'
./kubernetesApiClient
'
;
import
{
KubernetesClusterConfig
}
from
'
./kubernetesConfig
'
;
...
...
ts/nni_manager/training_service/local/gpuScheduler.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
cpp
from
'
child-process-promise
'
;
import
*
as
fs
from
'
fs
'
;
import
*
as
os
from
'
os
'
;
import
*
as
path
from
'
path
'
;
import
{
getLogger
,
Logger
}
from
'
../../common/log
'
;
import
{
delay
}
from
'
../../common/utils
'
;
import
cpp
from
'
child-process-promise
'
;
import
fs
from
'
fs
'
;
import
os
from
'
os
'
;
import
path
from
'
path
'
;
import
{
getLogger
,
Logger
}
from
'
common/log
'
;
import
{
delay
}
from
'
common/utils
'
;
import
{
GPUInfo
,
GPUSummary
}
from
'
../common/gpuData
'
;
import
{
execKill
,
execMkdir
,
execRemove
,
execTail
,
runGpuMetricsCollector
}
from
'
../common/util
'
;
...
...
ts/nni_manager/training_service/local/localTrainingService.ts
View file @
5fc73ba6
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
'
use strict
'
;
import
*
as
cp
from
'
child_process
'
;
import
cp
from
'
child_process
'
;
import
{
EventEmitter
}
from
'
events
'
;
import
*
as
fs
from
'
fs
'
;
import
*
as
path
from
'
path
'
;
import
*
as
ts
from
'
tail-stream
'
;
import
*
as
tkill
from
'
tree-kill
'
;
import
{
NNIError
,
NNIErrorNames
}
from
'
../../
common/errors
'
;
import
{
getExperimentId
}
from
'
../../
common/experimentStartupInfo
'
;
import
{
getLogger
,
Logger
}
from
'
../../
common/log
'
;
import
{
powershellString
}
from
'
../../
common/shellUtils
'
;
import
fs
from
'
fs
'
;
import
path
from
'
path
'
;
import
ts
from
'
tail-stream
'
;
import
tkill
from
'
tree-kill
'
;
import
{
NNIError
,
NNIErrorNames
}
from
'
common/errors
'
;
import
{
getExperimentId
}
from
'
common/experimentStartupInfo
'
;
import
{
getLogger
,
Logger
}
from
'
common/log
'
;
import
{
powershellString
}
from
'
common/shellUtils
'
;
import
{
HyperParameters
,
TrainingService
,
TrialJobApplicationForm
,
TrialJobDetail
,
TrialJobMetric
,
TrialJobStatus
}
from
'
../../
common/trainingService
'
;
}
from
'
common/trainingService
'
;
import
{
delay
,
generateParamFileName
,
getExperimentRootDir
,
getJobCancelStatus
,
getNewLine
,
isAlive
,
uniqueString
}
from
'
../../
common/utils
'
;
import
{
ExperimentConfig
,
LocalConfig
,
flattenConfig
}
from
'
../../
common/experimentConfig
'
;
}
from
'
common/utils
'
;
import
{
ExperimentConfig
,
LocalConfig
,
flattenConfig
}
from
'
common/experimentConfig
'
;
import
{
execMkdir
,
execNewFile
,
getScriptName
,
runScript
,
setEnvironmentVariable
}
from
'
../common/util
'
;
import
{
GPUScheduler
}
from
'
./gpuScheduler
'
;
...
...
@@ -447,7 +446,7 @@ class LocalTrainingService implements TrainingService {
if
(
process
.
platform
!==
'
win32
'
)
{
runScriptContent
.
push
(
'
#!/bin/bash
'
);
}
else
{
runScriptContent
.
push
(
`$env:PATH=
${
powershellString
(
process
.
env
.
path
!
)}
`
)
runScriptContent
.
push
(
`$env:PATH=
${
powershellString
(
process
.
env
[
'
path
'
]
!
)}
`
)
}
for
(
const
variable
of
variables
)
{
runScriptContent
.
push
(
setEnvironmentVariable
(
variable
));
...
...
Prev
1
2
3
4
5
6
7
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment