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
12410686
Unverified
Commit
12410686
authored
Jun 21, 2019
by
chicm-ms
Committed by
GitHub
Jun 21, 2019
Browse files
Merge pull request #20 from microsoft/master
pull code
parents
611a45fc
61fec446
Changes
235
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
168 additions
and
76 deletions
+168
-76
examples/trials/sklearn/regression/main.py
examples/trials/sklearn/regression/main.py
+2
-2
examples/trials/weight_sharing/ga_squad/config_remote.yml
examples/trials/weight_sharing/ga_squad/config_remote.yml
+3
-3
examples/trials/weight_sharing/ga_squad/data.py
examples/trials/weight_sharing/ga_squad/data.py
+1
-3
examples/trials/weight_sharing/ga_squad/graph_to_tf.py
examples/trials/weight_sharing/ga_squad/graph_to_tf.py
+1
-1
examples/tuners/ga_customer_tuner/README.md
examples/tuners/ga_customer_tuner/README.md
+2
-2
examples/tuners/random_nas_tuner/random_nas_tuner.py
examples/tuners/random_nas_tuner/random_nas_tuner.py
+60
-0
examples/tuners/weight_sharing/ga_customer_tuner/README.md
examples/tuners/weight_sharing/ga_customer_tuner/README.md
+2
-2
setup.py
setup.py
+2
-1
src/nni_manager/common/restServer.ts
src/nni_manager/common/restServer.ts
+5
-5
src/nni_manager/common/trainingService.ts
src/nni_manager/common/trainingService.ts
+1
-2
src/nni_manager/common/utils.ts
src/nni_manager/common/utils.ts
+41
-7
src/nni_manager/config/frameworkcontroller/frameworkcontrollerjob-crd-v1.json
...ig/frameworkcontroller/frameworkcontrollerjob-crd-v1.json
+8
-8
src/nni_manager/config/kubeflow/pytorchjob-crd-v1alpha2.json
src/nni_manager/config/kubeflow/pytorchjob-crd-v1alpha2.json
+8
-8
src/nni_manager/config/kubeflow/pytorchjob-crd-v1beta1.json
src/nni_manager/config/kubeflow/pytorchjob-crd-v1beta1.json
+8
-8
src/nni_manager/config/kubeflow/tfjob-crd-v1alpha2.json
src/nni_manager/config/kubeflow/tfjob-crd-v1alpha2.json
+8
-8
src/nni_manager/config/kubeflow/tfjob-crd-v1beta1.json
src/nni_manager/config/kubeflow/tfjob-crd-v1beta1.json
+8
-8
src/nni_manager/core/nnimanager.ts
src/nni_manager/core/nnimanager.ts
+2
-2
src/nni_manager/core/test/ipcInterface.test.ts
src/nni_manager/core/test/ipcInterface.test.ts
+3
-3
src/nni_manager/core/test/mockedTrainingService.ts
src/nni_manager/core/test/mockedTrainingService.ts
+2
-2
src/nni_manager/core/test/nnimanager.test.ts
src/nni_manager/core/test/nnimanager.test.ts
+1
-1
No files found.
examples/trials/sklearn/regression/main.py
View file @
12410686
examples/trials/weight_sharing/ga_squad/config_remote.yml
View file @
12410686
examples/trials/weight_sharing/ga_squad/data.py
View file @
12410686
...
...
@@ -241,9 +241,7 @@ def get_id(word_dict, word):
'''
Given word, return word id.
'''
if
word
in
word_dict
.
keys
():
return
word_dict
[
word
]
return
word_dict
[
'<unk>'
]
return
word_dict
.
get
(
word
,
word_dict
[
'<unk>'
])
def
get_buckets
(
min_length
,
max_length
,
bucket_count
):
...
...
examples/trials/weight_sharing/ga_squad/graph_to_tf.py
View file @
12410686
examples/tuners/ga_customer_tuner/README.md
View file @
12410686
examples/tuners/random_nas_tuner/random_nas_tuner.py
0 → 100644
View file @
12410686
import
numpy
as
np
from
nni.tuner
import
Tuner
def
random_archi_generator
(
nas_ss
,
random_state
):
'''random
'''
chosen_archi
=
{}
print
(
"zql: nas search space: "
,
nas_ss
)
for
block_name
,
block
in
nas_ss
.
items
():
tmp_block
=
{}
for
layer_name
,
layer
in
block
.
items
():
tmp_layer
=
{}
for
key
,
value
in
layer
.
items
():
if
key
==
'layer_choice'
:
index
=
random_state
.
randint
(
len
(
value
))
tmp_layer
[
'chosen_layer'
]
=
value
[
index
]
elif
key
==
'optional_inputs'
:
tmp_layer
[
'chosen_inputs'
]
=
[]
print
(
"zql: optional_inputs"
,
layer
[
'optional_inputs'
])
if
layer
[
'optional_inputs'
]:
if
isinstance
(
layer
[
'optional_input_size'
],
int
):
choice_num
=
layer
[
'optional_input_size'
]
else
:
choice_range
=
layer
[
'optional_input_size'
]
choice_num
=
random_state
.
randint
(
choice_range
[
0
],
choice_range
[
1
]
+
1
)
for
_
in
range
(
choice_num
):
index
=
random_state
.
randint
(
len
(
layer
[
'optional_inputs'
]))
tmp_layer
[
'chosen_inputs'
].
append
(
layer
[
'optional_inputs'
][
index
])
elif
key
==
'optional_input_size'
:
pass
else
:
raise
ValueError
(
'Unknown field %s in layer %s of block %s'
%
(
key
,
layer_name
,
block_name
))
tmp_block
[
layer_name
]
=
tmp_layer
chosen_archi
[
block_name
]
=
tmp_block
return
chosen_archi
class
RandomNASTuner
(
Tuner
):
'''RandomNASTuner
'''
def
__init__
(
self
):
self
.
searchspace_json
=
None
self
.
random_state
=
None
def
update_search_space
(
self
,
search_space
):
'''update
'''
self
.
searchspace_json
=
search_space
self
.
random_state
=
np
.
random
.
RandomState
()
def
generate_parameters
(
self
,
parameter_id
):
'''generate
'''
return
random_archi_generator
(
self
.
searchspace_json
,
self
.
random_state
)
def
receive_trial_result
(
self
,
parameter_id
,
parameters
,
value
):
'''receive
'''
pass
examples/tuners/weight_sharing/ga_customer_tuner/README.md
View file @
12410686
setup.py
View file @
12410686
...
...
@@ -56,7 +56,8 @@ setup(
'scipy'
,
'schema'
,
'PythonWebHDFS'
,
'colorama'
'colorama'
,
'sklearn'
],
entry_points
=
{
...
...
src/nni_manager/common/restServer.ts
View file @
12410686
src/nni_manager/common/trainingService.ts
View file @
12410686
...
...
@@ -91,6 +91,7 @@ interface TrialJobMetric {
* define TrainingServiceError
*/
class
TrainingServiceError
extends
Error
{
private
errCode
:
number
;
constructor
(
errorCode
:
number
,
errorMessage
:
string
)
{
...
...
@@ -136,5 +137,3 @@ export {
TrainingServiceMetadata
,
TrialJobDetail
,
TrialJobMetric
,
HyperParameters
,
HostJobApplicationForm
,
JobApplicationForm
,
JobType
,
NNIManagerIpConfig
};
src/nni_manager/common/utils.ts
View file @
12410686
...
...
@@ -374,6 +374,40 @@ function countFilesRecursively(directory: string, timeoutMilliSeconds?: number):
});
}
function
validateFileName
(
fileName
:
string
):
boolean
{
let
pattern
:
string
=
'
^[a-z0-9A-Z
\
.-_]+$
'
;
const
validateResult
=
fileName
.
match
(
pattern
);
if
(
validateResult
)
{
return
true
;
}
return
false
;
}
async
function
validateFileNameRecursively
(
directory
:
string
):
Promise
<
boolean
>
{
if
(
!
fs
.
existsSync
(
directory
))
{
throw
Error
(
`Direcotory
${
directory
}
doesn't exist`
);
}
const
fileNameArray
:
string
[]
=
fs
.
readdirSync
(
directory
);
let
result
=
true
;
for
(
var
name
of
fileNameArray
){
const
fullFilePath
:
string
=
path
.
join
(
directory
,
name
);
try
{
// validate file names and directory names
result
=
validateFileName
(
name
);
if
(
fs
.
lstatSync
(
fullFilePath
).
isDirectory
())
{
result
=
result
&&
await
validateFileNameRecursively
(
fullFilePath
);
}
if
(
!
result
)
{
return
Promise
.
reject
(
new
Error
(
`file name in
${
fullFilePath
}
is not valid!`
));
}
}
catch
(
error
)
{
return
Promise
.
reject
(
error
);
}
}
return
Promise
.
resolve
(
result
);
}
/**
* get the version of current package
*/
...
...
@@ -474,6 +508,6 @@ function unixPathJoin(...paths: any[]): string {
return
dir
;
}
export
{
countFilesRecursively
,
getRemoteTmpDir
,
generateParamFileName
,
getMsgDispatcherCommand
,
getCheckpointDir
,
export
{
countFilesRecursively
,
validateFileNameRecursively
,
getRemoteTmpDir
,
generateParamFileName
,
getMsgDispatcherCommand
,
getCheckpointDir
,
getLogDir
,
getExperimentRootDir
,
getJobCancelStatus
,
getDefaultDatabaseDir
,
getIPV4Address
,
unixPathJoin
,
mkDirP
,
delay
,
prepareUnitTest
,
parseArg
,
cleanupUnitTest
,
uniqueString
,
randomSelect
,
getLogLevel
,
getVersion
,
getCmdPy
,
getTunerProc
,
isAlive
,
killPid
,
getNewLine
};
src/nni_manager/config/frameworkcontroller/frameworkcontrollerjob-crd-v1.json
View file @
12410686
src/nni_manager/config/kubeflow/pytorchjob-crd-v1alpha2.json
View file @
12410686
src/nni_manager/config/kubeflow/pytorchjob-crd-v1beta1.json
View file @
12410686
src/nni_manager/config/kubeflow/tfjob-crd-v1alpha2.json
View file @
12410686
src/nni_manager/config/kubeflow/tfjob-crd-v1beta1.json
View file @
12410686
src/nni_manager/core/nnimanager.ts
View file @
12410686
src/nni_manager/core/test/ipcInterface.test.ts
View file @
12410686
src/nni_manager/core/test/mockedTrainingService.ts
View file @
12410686
src/nni_manager/core/test/nnimanager.test.ts
View file @
12410686
Prev
1
2
3
4
5
6
7
8
9
10
…
12
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