From b794076ecb38ce7b2aba9efac009c8e868d1b5cd Mon Sep 17 00:00:00 2001 From: Zejun Lin <871886504@qq.com> Date: Mon, 17 Dec 2018 11:11:08 +0800 Subject: [PATCH 1/5] update smac doc for installation (#469) * update smac doc for installation * update doc --- docs/HowToChooseTuner.md | 4 ++++ examples/trials/mnist-annotation/mnist.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/HowToChooseTuner.md b/docs/HowToChooseTuner.md index c23edf8b71..e681e2b423 100644 --- a/docs/HowToChooseTuner.md +++ b/docs/HowToChooseTuner.md @@ -91,6 +91,10 @@ _Usage_: Note that SMAC on nni only supports a subset of the types in [search space spec](./SearchSpaceSpec.md), including `choice`, `randint`, `uniform`, `loguniform`, `quniform(q=1)`. +_Installation_: +* Install swig first. (`sudo apt-get install swig` for Ubuntu users) +* Run `nnictl package install --name=SMAC` + _Suggested scenario_: Similar to TPE, SMAC is also a black-box tuner which can be tried in various scenarios, and is suggested when computation resource is limited. It is optimized for discrete hyperparameters, thus, suggested when most of your hyperparameters are discrete. _Usage_: diff --git a/examples/trials/mnist-annotation/mnist.py b/examples/trials/mnist-annotation/mnist.py index d3c0e36c2a..0c0b213cb6 100644 --- a/examples/trials/mnist-annotation/mnist.py +++ b/examples/trials/mnist-annotation/mnist.py @@ -32,7 +32,7 @@ def __init__(self, """@nni.variable(nni.choice(124, 512, 1024), name=self.hidden_size)""" self.hidden_size = hidden_size self.pool_size = pool_size - """@nni.variable(nni.uniform(0.0001, 0.1), name=self.learning_rate)""" + """@nni.variable(nni.loguniform(0.0001, 0.1), name=self.learning_rate)""" self.learning_rate = learning_rate self.x_dim = x_dim self.y_dim = y_dim From d1008bb31e2f105541f12153fa2311c71dafe6e0 Mon Sep 17 00:00:00 2001 From: Zejun Lin <871886504@qq.com> Date: Mon, 17 Dec 2018 11:12:29 +0800 Subject: [PATCH 2/5] Modify status EXPERIMENT_RUNNING to RUNNING (#476) * modify status experiment_running to running * fix hyperband doc * fix hyperband doc * fix hyperband doc --- src/nni_manager/common/manager.ts | 2 +- src/nni_manager/core/nnimanager.ts | 18 +++++++++--------- .../rest_server/test/mockedNNIManager.ts | 2 +- src/sdk/pynni/nni/hyperband_advisor/README.md | 1 + 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/nni_manager/common/manager.ts b/src/nni_manager/common/manager.ts index 674b177731..6c44f36c5f 100644 --- a/src/nni_manager/common/manager.ts +++ b/src/nni_manager/common/manager.ts @@ -85,7 +85,7 @@ interface TrialJobStatistics { } interface NNIManagerStatus { - status: 'INITIALIZED' | 'EXPERIMENT_RUNNING' | 'ERROR' | 'STOPPING' | 'STOPPED' | 'DONE' | 'NO_MORE_TRIAL'; + status: 'INITIALIZED' | 'RUNNING' | 'ERROR' | 'STOPPING' | 'STOPPED' | 'DONE' | 'NO_MORE_TRIAL'; errors: string[]; } diff --git a/src/nni_manager/core/nnimanager.ts b/src/nni_manager/core/nnimanager.ts index ef6906483b..47affdca15 100644 --- a/src/nni_manager/core/nnimanager.ts +++ b/src/nni_manager/core/nnimanager.ts @@ -138,7 +138,7 @@ class NNIManager implements Manager { checkpointDir); this.experimentProfile.startTime = Date.now(); - this.status.status = 'EXPERIMENT_RUNNING'; + this.status.status = 'RUNNING'; await this.storeExperimentProfile(); this.run().catch((err: Error) => { this.criticalError(err); @@ -185,7 +185,7 @@ class NNIManager implements Manager { this.experimentProfile.endTime) { delete this.experimentProfile.endTime; } - this.status.status = 'EXPERIMENT_RUNNING'; + this.status.status = 'RUNNING'; // TO DO: update database record for resume event this.run().catch((err: Error) => { @@ -350,7 +350,7 @@ class NNIManager implements Manager { let count: number = 1; while (this.status.status !== 'STOPPING' && this.status.status !== 'STOPPED') { await delay(1000 * 1); // 1 seconds - if (this.status.status === 'EXPERIMENT_RUNNING') { + if (this.status.status === 'RUNNING') { this.experimentProfile.execDuration += 1; if (count % 10 === 0) { await this.storeExperimentProfile(); @@ -460,15 +460,15 @@ class NNIManager implements Manager { } // check maxtrialnum and maxduration here - // NO_MORE_TRIAL is more like a subset of EXPERIMENT_RUNNING, because during EXPERIMENT_RUNNING tuner + // NO_MORE_TRIAL is more like a subset of RUNNING, because during RUNNING tuner // might tell nnimanager that this is no more trials. In NO_MORE_TRIAL state, the experiment is viewed - // as still running. DONE could be transfered from EXPERIMENT_RUNNING or NO_MORE_TRIAL. - assert(this.status.status === 'EXPERIMENT_RUNNING' || + // as still running. DONE could be transfered from RUNNING or NO_MORE_TRIAL. + assert(this.status.status === 'RUNNING' || this.status.status === 'DONE' || this.status.status === 'NO_MORE_TRIAL'); if (this.experimentProfile.execDuration > this.experimentProfile.params.maxExecDuration || this.currSubmittedTrialNum >= this.experimentProfile.params.maxTrialNum) { - if (this.status.status === 'EXPERIMENT_RUNNING' || + if (this.status.status === 'RUNNING' || this.status.status === 'NO_MORE_TRIAL') { this.experimentProfile.endTime = Date.now(); await this.storeExperimentProfile(); @@ -480,7 +480,7 @@ class NNIManager implements Manager { await this.storeExperimentProfile(); } if (this.status.status !== 'NO_MORE_TRIAL') { - this.status.status = 'EXPERIMENT_RUNNING'; + this.status.status = 'RUNNING'; } for (let i: number = this.trialJobs.size; i < this.experimentProfile.params.trialConcurrency; i++) { if (this.waitingTrials.length === 0 || @@ -602,7 +602,7 @@ class NNIManager implements Manager { case NEW_TRIAL_JOB: if (this.status.status === 'NO_MORE_TRIAL') { this.log.warning('It is not supposed to receive more trials after NO_MORE_TRIAL is set'); - this.status.status = 'EXPERIMENT_RUNNING'; + this.status.status = 'RUNNING'; } this.waitingTrials.push(content); break; diff --git a/src/nni_manager/rest_server/test/mockedNNIManager.ts b/src/nni_manager/rest_server/test/mockedNNIManager.ts index cdd0d64fa3..a9266dad75 100644 --- a/src/nni_manager/rest_server/test/mockedNNIManager.ts +++ b/src/nni_manager/rest_server/test/mockedNNIManager.ts @@ -39,7 +39,7 @@ export const testManagerProvider: Provider = { export class MockedNNIManager extends Manager { public getStatus(): NNIManagerStatus { return { - status: 'EXPERIMENT_RUNNING', + status: 'RUNNING', errors: [] } } diff --git a/src/sdk/pynni/nni/hyperband_advisor/README.md b/src/sdk/pynni/nni/hyperband_advisor/README.md index 2c5363134e..3cbc2922e3 100644 --- a/src/sdk/pynni/nni/hyperband_advisor/README.md +++ b/src/sdk/pynni/nni/hyperband_advisor/README.md @@ -33,6 +33,7 @@ If you use Hyperband, among the hyperparameters (i.e., key-value pairs) received `eta` means `n/eta` configurations from `n` configurations will survive and rerun using more STEPS. Here is a concrete example of `R=81` and `eta=3`: + | | s=4 | s=3 | s=2 | s=1 | s=0 | |------|-----|-----|-----|-----|-----| |i | n r | n r | n r | n r | n r | From d15ddb49986080c11e825df78522ce6b1dd5dd6d Mon Sep 17 00:00:00 2001 From: chicm-ms <38930155+chicm-ms@users.noreply.github.com> Date: Mon, 17 Dec 2018 12:11:13 +0800 Subject: [PATCH 3/5] Download log (#478) * Support download log files * updates --- src/nni_manager/rest_server/nniRestServer.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/nni_manager/rest_server/nniRestServer.ts b/src/nni_manager/rest_server/nniRestServer.ts index e5f0f8de0b..84381746fe 100644 --- a/src/nni_manager/rest_server/nniRestServer.ts +++ b/src/nni_manager/rest_server/nniRestServer.ts @@ -19,11 +19,12 @@ 'use strict'; -import * as express from 'express'; import * as bodyParser from 'body-parser'; +import * as express from 'express'; import * as path from 'path'; import * as component from '../common/component'; import { RestServer } from '../common/restServer' +import { getLogDir } from '../common/utils'; import { createRestHandler } from './restHandler'; /** @@ -35,6 +36,7 @@ import { createRestHandler } from './restHandler'; @component.Singleton export class NNIRestServer extends RestServer { private readonly API_ROOT_URL: string = '/api/v1/nni'; + private readonly LOGS_ROOT_URL: string = '/logs'; /** * constructor to provide NNIRestServer's own rest property, e.g. port @@ -50,6 +52,7 @@ export class NNIRestServer extends RestServer { this.app.use(express.static('static')); this.app.use(bodyParser.json()); this.app.use(this.API_ROOT_URL, createRestHandler(this)); + this.app.use(this.LOGS_ROOT_URL, express.static(getLogDir())); this.app.get('*', (req: express.Request, res: express.Response) => { res.sendFile(path.resolve('static/index.html')); }); From 2c601151ffc260a80a095bc61688343cf6274618 Mon Sep 17 00:00:00 2001 From: xuehui Date: Mon, 17 Dec 2018 16:57:20 +0800 Subject: [PATCH 4/5] Update the png of nni_arch_overview (#473) * update readme in ga_squad * update readme * fix typo * Update README.md * Update README.md * Update README.md * update readme * update * fix path * update reference * fix bug in config file * update nni_arch_overview.png * update * update * update --- docs/img/nni_arch_overview.png | Bin 43447 -> 126232 bytes examples/trials/auto-gbdt/config.yml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/img/nni_arch_overview.png b/docs/img/nni_arch_overview.png index 6403154ab92a8b9051bc0ba1347b851185513b13..621f16a0ddfde3bdef49058aff64baaf36b82e01 100644 GIT binary patch literal 126232 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�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 SB`W#vv;WrZ|9S`hO#KfcLu^z4 literal 43447 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

Uij4Six&z$wb(47wZ7z z0}ymc@3O~sb^abO;Treetodyi#3bV9NHEt9VKv|JhWVY%MS{+zLa@c`%H}L2vJ?zO z@I!T}41LpUH7|We@Ds?e0mi0Fm2!5cH1)C;#Qa#Q%nMK&(p3ZFw@W>=FTU_qqXk8c z5S!M6901BM=U>W6M`S^-Fo0FG9y^9F%at}fz)WbxCxCcb4eS9hUw#n_#dvbjiqCxA zS2qyiPE`a#62L@jO>2!KrPp8ej*SMqG=LObRyRHxpg!aaw}n_;vm&@j%LN_=MBF$? z6lq{Kes%~PX&v+H)@BV?uQYb8H7+7;C~f@IpARs67@G_AzUhJV_dHPlO-7BADw`7n zgQSnMHH9s;u*@;!+8E2|;-gD1e^2ccv9d3pZqbie0YZ5}PIJDjCHZ@*3XjRPXoP|V z!Ot<^o)m-+tY`r6sG2oj*$q~F4gn->G-xu`3ne+MXy@BlUC$)hE!#p&6fD%mkQhWg z188De=OBEEuc)J1AhYu!;cRSJR6+FX_}z~}fXqY0`8aA9 zwG5Uv6f3UOEbrK$&OrqFV-Y2#t}U6j zsknOsR*psf{A^U}BIDoFe5~M=2+X{8+n2*kSjo%34Bx>h1t_YkPC?VSm1H>DkdPDP4y# zPy*{Q{PpuEtziA$fUQl0!`c6p*k1r5S7&u~URqp(>%sfoVs9@H)m<=)1>Cxa!G<>O zrET1Z2dUjvMYoyDc@-vyV*VSg%qyo$Xr|qE{aS|%Bz^t_bXPYBH z+MDy0EECOwWp}sD&W`YXLO(8&4KUw^n+j*t z#re4n|B_AJl(MCNO9Os|^?K0XYK>R1;T&|XI1BFuN)~>VZrwyLrYQADi$xJ)0UhM- z)@4;<|0doB-fyVZwL@>T*17xAQ1w1Y(F3rS#T{N;GrNB(6H7pI{>4~E4rApWHEJ;P zvTt+%>~7CCnDO^iV@^gpPRY&qS1w!8(B=t}+1oBC+Gum|_4oE`Z1-lK=x{$it250k zRf>1zw3iykxR9iQy>;TGtuULHA$POtTyn!}b7^Kp5Vvl3{I&2b6Ao=%M+-wyB(jYY&!WkG77>lf+m^r=_;vcguQ7=>mH2iXnA6qyDFwyf5i5t7tr$Dx-+13f zJ66!6j+8x%w>MkOo9W+9o9oHBfiKb(z-R4p8wmRWGHa{W(1pG+5)hNhwBFAuI4oB+{-kx%+8w zGm>C$P$Npuvu3{97p}i9QG;*Wa3qzivz6(-BNca$B8C05z7S=@PSf5UJj!X9*t!v` zkAwGz$=Y5WzS>3}x7I9%3sIy+D3)DLBtf$=#00$Fd!m^wTHKHCCV9-wOZFWHen=w~ zoNQqG0N0-|m7C<)L37Uo1-Z$rJHC5KUkcU-mI~jSW`9$==ea(xzK$!|IVGf8|VlXyNA7!<|`zq|`0AtA5FtFi!^<+1H$Gay~y@Fz3> z4kId&I%J`l2m6auxC58=>TYJ*q};0M&Ycov#FJ>HW@xy*$e@Kgv&NV*FNlp>Jw`HW zC!1D}ZR5#-Bjqu@TBuM7FFzm#!|qMi=qh4UrrIx)qo*%U9Q??NeW~dE0&u6d{OU)s zri1QpEMiTE_ii*_H8Us7#9j`F$zwGO5XP@ZPn$h03LtNj%Z&T07E#*0JI)SAU&*FA z-ES2c@go!|vm+7un2**eC+4&w-rIJ@Hcq?1jchhEJTL=-6rtX&aw0DAVBpg8#7tMN z#=k*kfK{jX)H5^~W~Ls|);d>8Es&3(O+=NZ0-fACRJ|+1dA+U%b#++a8My<2DWcp+ zH`qMn)vYnB*5)o5J*}n>FO*VCPZaUGW@wsH7!1lw{$b|V;xml{Tqss<6QH++lfJRD z_l*0737;K2-5$yx|9>QzP(LQ2AIrOk3>+Wk&! z4S_#7&m}8ldz&1TaWfj>^H7yj zP%Y>zgVSL=n_i>1WZ(Dnx)VLkbqfS1O!~nP?S+PA;)oRG=O+Kj)Qfg3or4N94>sdZ z9$EEhn8J?-^ui;4gRc<>N{6TQJqDn z5c)7R#p>o;jORDDaaBOrfH>Wn8gcL#MF|CBPq_m4;J3P*`EeZi0~%JW8I~XCUD|Jr;<`?)icMGZMq#h{oGP= z#n656Bb)sog${=s-+YV93hp5HlucM)fmi)8Km3YOI)lt0Mx|b*FU9A(Z`ZNyOuwww zRL_HQ?|&`nb>v`~hzQ|=Jt?R)?@X2F;qn)b__Nu;Y`FZU@~r@Dq725r>Ex(UDnoq%ya!D2)S=R<^Qom)&p-sv#8eA77o=m01>!}<{%PfjA#3j zER>C9*lp)+@nnA~D8XS!b(jaMf0B=;?=}(}S3NHCeENG-wftNQi@rC;iGb6Q)!&R9 z2jQ}=`XW@N2sLR(GUXRh8Mvit$p2CTZv@K~?wa%khacQ+2Y=+eB-VVu_a|nu*lNe* z4K|DRj0!I4{$)v{*B1tZ2g;wM?s-P!G?D z53bb|{`@v^BLce=}Gf zYh@!k0K!ZjTwgkS16MMmB7v9G4`@vnrN3h}f0;;My|TQ?C_h6_7472A0R{tvapN2h z>@hfWe}(*Vc?Ah27;99;!MfMSK%1^B2tp+6EL}R zn@+~UQt87y1pPT&|N5`Z06t?8z!ofY>xv(A<5Tr1Gg`mz$HApYUkUwa3C}Yr_nOrX z>foXVUPr__*|-#VSkRNoTuR#1y>nv6!@vqJ=`sU8Hw${tKMz(Le|t`u6O$erje@OY z&esya(D%B>h7A+U$xCLQAzhKBOlyZmAEqrIB{pm74|T(3(SQsUdHcY8U^7bl%U4By zEi*lIq1NZap9e?0roX*3j>B77CSNY?ver4VN*?l3pVt$fH4Z%hj?}=Cc6oWDl}mgG z8@KO2~Dt#H>SFCr1zD8v5#lA02XI>)$6Uv&4!e zPDl!LmbXi%1k7`6Q`o}2KGjJ6+VP`Rz9<*hOZ}x-jq*s_W{?Xx zduBapLwf6B+lyy46KhDBjK0+kdL@HDKEa((g)BF=Q89j-uKO1-2}#xTV5fX#cK*N> zMkIzyiAr}WHI0o4P>)HJqbhr4Zw2Zy!W}ndsTG=VV`Vfhw)ZV!B=46!871dv;&=El)@*iQpqnvK+M6nCEt9Z(TH2_9}oHVuy&4aJB7ovuJpPOp$=o!oFEwd=D z?6ZWl0;Az}Sq;@=;DkkV`Rw+p7p01ys-;iIRr=2GgBS`#mQgxe)EUW3rXwNr;^m7e z29(39sh(N`AB&Eex8%h6;vVx)oC~8WH}3NYmbFdOs6ZX}!6{iu**!EJtJq`RAC2$I zXA62b*yb|`bM7fsaQ!>J5?QP{Z=R!I@aKmwjLzn#OKVRGC#t4i6l)xB5qRO);;FMj zt{N&$6v9iocE%bmQ%-vwALxyix6|+dEEp#K(OUuf8#oqq>y??&Gdu^A4uOj{?$A}R zs>gByZ!*I33S)cEH#g}6Q+aCmYSDQMgwL%D zfrIGE{O|aUFTh!dJKT@n|8+i&;bT&L7?YM{4KC(k9njKlJF|iz(S13&U6CM?l%;G zcYrps(}}XF(6FWV^eP)pz7BJ(HdGrM=)!2KL3cg6^V1~xAs^<<>b%^O;Q(mGIFJ!7 z{FOw8={2c@v3Cy!3QXz#o)*{olN211P#^%H{uZD??w?E*a&8!KyZ+c{ zo22hNQFBqN=I*CMYrZ?HzFwg3i&a0tUhobHI(!Ba{_8PdVCkT&n;2WUn5xLB3NIvc z@N&0FNCpQ$0g#Z0oaNnz8qyaZeA7s(poh+cR6-sZ0bg+lfSF|o(h*%Lkn4s6Oj#5; zX2L%I69~!>`-%EFF6U(!6#5_D1WH_UZ&VPy-U50^%?(7rNztRy4?Z3nIk`Z(2M1k* z3!I8Lujtv2UR=7h=2ZKVh94dCar2~mg{NPo`w=e&^Fs=LZ9m~_v|NSSZU;|hpMm0( zi&Y8?86ryB`3~LTv_%YpRk25V0F3pwph*7+Q-cZN^935OMqqVq5$ym{3MFr!#}Y`1r9m+S4&kTfZmaxeEZ(+ZR4dSH9mP z`EBRlvQtvOFqa4fSg;kj(Vrd&PH&^ZR&YQwHYyl{K(VHhmd!jNvOsbImut>%6cOvk znI)jr^Pl;d$mJm?v^F%l|Ky_I^yg1ekPQ2pf7_=8qWUD?8UUMyr9g>!WJiAr0H0k= zc)!`)q-g_yU-(2Ua{wEkZtb{1fSa#{#L-lqHL+W?JASLZ>f>q zVf_VY6@ZF(OBTnD!E44wzkPaHxr+OA>gMaRdnv`wk6i4FmD0p7-8COmwe8I6(gWRU z9QolOZa7ocCShk2_qdP$tNF?fs3g2G^qTYitzAM-B_kwT9Q1j>@^%JZU|)_HkgsLH zZ$0=52dMvw%=Jdy`jfeU=V&4q(T7>2j7fddzUy}ryG2J0oYQOyc zt3v(!-)xIseno6kQ9tkg!Vm{+_$3Q9Amx~ zl;hE#*a9c_TX>nibr&`;^u{gi&6se>vuHqFS+Z(R=Z}3f-5mf7WIggpD#I3JS9_0C zgn9ZEB2C>aDU_8;BTNsf*HoVZ9(e$^ztp4BJUJ{kYgf^(pu@XuFwcBE?JP<8{Y|Z_ zr9P6y?eVID;9x!n>z)7(Lk`Uy1bh@CUVGIVbUnMqQg8bU{4?Q(E%DET$18@S72s=V z3Lm{x;$d3m*DMFl%r6ezPyQ1Tr}~EovBiMGE~OP1<8Qxz(s1vBf1lVbySxoU zb3D|uwAlkw)f+PJzTCt6E6~RTl0R|EG%S-*&@jZ9CSplP9_wS4ua*zhBtduu92kiX)#xH&i=2zrY8cB#lRKIlyBRv3D2= z+n(z7J~(5yfylzKl>qY9{^?AyUqOPgHuDt)lpreifI`!PZU0iir8JEIPtngY5|xf} zo_s0_VHeJLnh!o|hs7q89UI!xkamt5oQc(4UauNQqzB|;u?Q=IFvK`AG8RnSAEVx z_689YhtpM)|E&Q-4wo65$(UECMt9p#sA`d(&j;Vi9>6*?Tc1?UVSR8dXPotCV99GPnheXenGtI#c#-MFt_1N8)A7H}ItD$)>19jo%raZU$w^VO3 zqvrzq&Ir;yUjL%D)Bq~0dP#=yXrI%Lr{BP|h^gdV=x;?BIj_ZLS1qEm(lfCMT>KTPZFoNE1O$R1OV@ga3kI#qW8RuU*1IrNPx#98jscqC^&O zQa@{Zb$yTN301LYzRisVfX7y?J#pC--~#3Y=+9PMTDBR zJIN=$=UWvUUm6$ea)lduYx>)>57nDHZuDOjgY)zl{?c_-dKD1*`E*mO7O6DnwZda- z6DK;xe|wJqlphdT#fPqSZJuIvNC&hx}1w%fj&ycqZz;R0t z)HO9>BQwn$)j!ZN(WcfzWg7V!owgluG`)CqYxdgZ}Tsq`2C`>9gvpN#wDkm;jWi!j;k!Nkmt7e`` zo(RSvVnyf6o5L@X8uy9AUn;I%&2SwEe)<9t+*IMAtH}I4b!ixa?Y^GGbK+-bCU&!m=&XqYqvTx?`yli52IO8!KUP(>;L!ec~IjMLSaYzdP$Wsu-VLY9HSlEwLuf zaQTZv$3f!cT-fP?IOm`@u0W(Fdif*zn+>jX3I{x420TGXM$hdsys92=mXaA*C@{!N zf$~$H{UzSz;$(1Zr=TcyC81h{stmt|GycEG`to?F_wWCaR)t%(N@%&QlDZN`OeJ;i zEmX)(l4Kjgn5?7Qq6l?c+%P7Togv0Hn4%~$_I+y#gE3i{u$~GZL49) z(*05;8*lhG2Mag6P;+~CRz0H8xitOhf#Iopat!?rA<9Wx&1+?jP8d6zl85Uwi_WmE z3q*BsxA*LdsZ6Ogoa%NVC02GwP&CjxHnKERh-=HUIwIoz9^9?!h;on0)A?St;q`yE z0KOY%G9##hvKvShb$|JcXzIk7>R{cpmv$TYmhX3(3hh}dIW>J?2&- z#8~KEV)xFgDp9i74=(z}x90UeVGB;oO%lBpW#970H<{Wl|4JE-Tr_6P& z=EoDVU;yXDM|;NB0>_|gTp(t zog>P^vu{}InOI3t?rp-}8AwV9$s4+?KI-PUld|47fY)i(WWCuL-?ZA?=In0isjwAA z(-G;e4Ot4DH-g8NJ(~IHMCXl;<5Me^i_Br&t7TojLP31A-|qe~-f8I*Ge?zT)cU_@ z1c5jcAAHXfbteLL%`n8BWo*c~oO?D*rChb(wDc$x|AFdmh3%{8&nfsWrsmv|9$sx| zp!HmN73y2jM!Ew%rk(74ZgPXv6g7y0l=RUt7^pw{`N)U-=mt^MrP7}K4v#RCR)fO`!@2zxV(=yHO# zk&f?hOd1hAHA~kBdJkb36ktEP7WTieTv~VK0%X|;FC7)=A$H{zq$NMeZwNNMn1OIVuz>%7nDfU= z$Y5O31|Q89-2C1J_-E_0`h>GoU$Nw00{`OU+wyr%`8k8Q*TKruVT9)=I07Trnif9IH`Z6DWE6>Itmq%v<3ad(nNREs3l5 zy{Tm=u`JclixSj4?WUbRtpwUla{VC$3E)zPI>}rYsP50z6;1tfLm@SDtj_%)5#*;cgWFE$UPyb>z;Odrn%1jNfatv~=2ST|Y37 z+T$-~6o9HzFgF?TX}2-1OlyTu9XY$KV4_B2(mXFD9qq@mhdX9K-7H8)#A48nx_ufI#$7BHNFxHLmwHQO%^t~>)wMA7Ht(KDzITbM*+QfuJ-mg za_sx{Ovd^r&rC&)l@~6Vw1uov(^H)Pdc>viR>m6>oV2Ns5yNUq=zRT~(M@^NzQ;r9 zrb+&o#$%2atDlCKUx^JFE)w(~xbSJU7M}^tlGIU~t6Lj>TToeH9vq-t*J8-sacbX4)<>@*y?L8S zK;_-$(->_pA7z!>NJ}p`qQmoC*f~okM|7*}{kf)X;~`pmT5OxXyGGa&!j+2v&H-$Q zmDBnOfPx05&&1a|;zf(xPUYyp&$}c0?EDOBE%>;2rt3wj@f7+=mY$)eVT)K(TM?7rwYVHJ}IcF5V0+B(g~&fc7RwUnNLy37T@~#GO*vE24Kxa?>|806ggYxY?+E__Ou}vraped%;C?g zMya{5jPjj)?5~pL!X|?=7VB==O@8bUqkO*H%151QEc0#|#IcoaBI0U0h7O+yu7&{k zDy!K>mYGvoo@@6y>4bdZwDKm8;#wH5banUM(r3kBO|*?R?+`P}EBe&qN*o8nIe?)01g9x(2gP zHA<(}vt)_2+Hw7P?tF{$o5AT!M_jGt{j%0;=l6oRU0TUty8M@Y9eZn-jdnwg<7pzb z_Uwl*Mipk<=Ws*n&nRZ*XK$UKx_#=FcgGD)BN}$F#be5}b#D8PrqAR1I}BVChAU!& zaf5|N>J+t#kbEiC{gBg*sc&%E6I+V2rgBbK%KNz-i|uV+S*MU9AW}W07#qJyVOTb$ zJiu)(^R+Jve{g?M%<jYHd*ysbL-n_^Fw}m_p1I% z@ajl(EZA3&;@S`h@pQ7@TH$D#C1upU^NLZ@;O2X-1}>Vz7oz)=_rB)-iStLx2S$(N zROY+9+@V!!9xFc@ZztCX@9Jcb7OQNW8g4^I@WL&0`)?l}wuhb*>UO&z4!q3b)yq1L zBX(z6E?c?3UzIVJ;fdRtTeAbVwM@)1JvKQfN$fB5rIt8RmQ!)>=P+DW+1O@p_fs9E zXySg?b3`%j6_=-Xd0WLIm3A$^XQ;eFg8dD%J=?g?^>ok>>#FtKO0ZZaQa+l4TW{my z=d-kAeZ#@RlnV*R-Vp*S+JeKDoPQ_dh_)FbXGCm7VsXOH0{%&AwLh3%VclDrrI+Tb zS6PY&;G=1 zq%8jE-e3Ui0 zwZ)KWNL=4+82o$nTQNsdwU%`k9q6~P^|Fk`1KS)snz*!4k6 zoOhgyoOZLxVZ*u{*P~lGuk{*ztM{!;T~zHbAhgX!5cA^br8i>RxMu4xS#^1BrBZUE z7uxgo{mQE?$@-xEto{~^MBUQp-GRpMmmRc~Fvs@hiNV>TrjO8U85S352d%1P_ z)`B44OM%x``PO6Lr9;v9_ev^ZE|Ty$cELApaGgtI#&K?&-CUQTvVwt3=Pk*{MWUoI zjTn|4PR7ZX`40PkK(CHcPM2lfoppF)=a5m2#uDrDn%F4OievYFtbmMUVVM>s-)&() zQ+ny%W^zn)$P4(Z_?rLnS4n=4fUD)%7|WAR4x!(=PqwugnU+rYY9{qe$7xOT87J-a zgSb|Q;o{X4f_I{&tI3G^tgBA9YqFC;NHV+bn3R^hcJuxY>3~lcrrtjcPm-T}+}q;Z zo@$u;XeZ3SxcpVLhPEy{rJ|k7J=;Fc+Pz$|Mv^S8dd>YvwH68|9>~ly{ec_lQnQ;K zAAY-|ac5Mfn11&=rQuI4DJ*=J*MQYW8SAZWHXSdDPT$%5lyYh>X%`s^~$$8mY-(-am&ZwDvC@WKj7qWRpHTnFk4%LvbAs%DtWqC zH))#{VNf49A7Mpk3Rp^9KC{;ZVIk_qC2^733blM3nAT4tT#v!F-7fc*{wERM!r%Ln z2~ijKVPxd*diTv$%#``<>)X&DBNT6S7Tep73YO;b}*1mL~sD%4^wNt_SOD^ZF z{+kzU<+J=s^rK5Kdyt{{1^_gn%>inDb>&e~Y&3&)nryZzdyHbn^;L=8=mtk{;(3-tfWQ9Ths_ef*TY!j-5tyG_n4$~HNYsfGM^ z!atW1pMFokRmz`pP2nrqUTPxi8tHia<&2K}|rN_ESCaj^?IUp{7Eo?~98*WO~dE=|?YM7oN)j4z6vMsw2 zy*M5}vq4XS(4H#OVq7v7@H@ZqMVjk@;e|*z;GlS!7>$i8Ib$T*5w8Ai?F{U*KEvq! z{)?MSR+oP@Yr5a&{4vR1x+Ifz_f`#yT=`cH-}higtZDS+8P(+e6iHXRHhE`RuNc5) zbW&cV*nP{_G!M>eB&nq*FpA!*=5^ciuI6g9BWXSHdDam*FNRv1)d_M@iEJ^}^Atb- z)0LgEYXSp!W7}PFru`46O86bR@lp`**hBKEI(;oiO@#Jn^O2qFhxOjbyv}PRWT(Zg zw>j=xe_!-)5NGR%duBB4o~zN`H?9mz;yu%|C*&l;Oqi!WqVpKPHD^D-Mg1!66%b|M zn%I(1lr45~3%?*(xB6j9#~xNtdnt>I_RDq+VN-`wO7q@_6JMmT*X93#qipEJOQb1o zP4Z23>y+t~aW%Ziq`}qzK3_kKR#j~6utU4E9irpWzU%U>)oZHjk=D$|SpJf8y_?Pm zWn;7rSt2dT?iFn-mxr^@l~=Nvbd>9$w-qmO+gRqE5_t+Zn>!*N=4Upt&+T(5zgl^^ zGvQ`lnD_DAMQw_G-nPXsxz3%#dwD0VJKsz<$GMJUF4P6y@4W7HkU~5&=@_HcOQFXf zEB?Lv`!4SLC&P2^EvAZdD&M{6&u@pSzx^z)@mD0Y1}ic#Hff=6Z_Zxgb0~TgK)$OS z-I7P$Av{>}UJS_gt|?`O^(LN~AW4~d65)SMk8r*}hqUNIIw7=S^(xC%4f>~!RAI(A zs)949u;-VlhiuH!cTCY#_go70?2XqA?fNKVQ>_2{nxc~q+0nkz1rMiAzNFWwNeK>k0nwsgUS!Bvdx0VD z;Lsu@kh5Uk9K&zx90wQ{_3qLRYpUk0Qb(*4d8%tcAlV z#;~-v;Ja=H13d78*TvLkmd@3<6(Q0r;B}RYV`6GoAzX#YiwS4Ot!z+t5QGcz&1l&{ zu@M|X{5l7k91E~FB6C0^^9odp03ApO=E1VpZ90EmeH_P zsGBK>C=7fSfQO}l@-qBC3X*Qke3R$0*n%CT^@3p(J=V6J3XUinRxd9=`d>8A@XuYa zfzmU+8`LAD=MV}o?Sx*%f^r2lm!~D4@2v$Dti7x2I_iD+C$pJ|QOOMe&)-ANL4PYd-wm+^b zL+-?L05%(5|A8(TxE45{@@fiZ=GVC2A3#DJ)SIiJ?JWwkl(Aj{i*9kV|*T$dbfEHR}P z6I@#u2bnR#b81;xVS4dZlZj{4=~@XX{&WT(akCK5NNjzY*Ng2k)2-dj_S}+j_I;85 zgH~UP=mEx>HRg0+c1-TLas#weAomu=gBqw`C+!|%0b#^(gjWi-4oJ#nH9W4tXb+#h zfBW+Lv&73`5%R>J3T3 zo&7oC#n0PrP9`~I|p~SvePDCF0IXr5Hmbm7C;%Amz8&hyPLOQCzFXe zp2;{i%y-v1);$}MU}M0O#`a!#d>|$*0ny=6`3trDFO})I{^uq|HEO-bqkAMp3Pmb$ zgBl4%IGwE6B;)E9Pn+t-mt%+Bd6Hi!>0`JR8|)#*#&Q#9Zm&O7@D7oU$}$Pe1%$cu z*IXoRp&xio$XbOF-@8F4o}R8Sb((mNbtN@W9Za#q(_T0qwRVdS+}G@dNq3Yd6x|3| zQqRz-9*@izvX`^bYxQ05DZ@Fo^(rXUhCi%;mmWX0>~p!@}aRz(seeQ7f73`u6+A&Y7_zt;I_dx;U4Y^BDh_vHpwAgE?0pTA)6d&Yn9f6Jv{JIf$zWiMu z-evKZ>t(;ZL7%A(S#^n^r7P!v^LI6y$5@gRpX0(Q;qLrjyDA^EBZeiFdV3wdE7ZmZ zq>8L#c!Y9y^wlQ0iZS-3yElJNLFb7^wZ3p28E@)!_gk2T zDm;yi5a6Df6G^gYkY;WL3Y>RKk(ie9RM*AD)Yd1l`9%jyM?7#^YZh@bR=>IRT9N%U zv<@4=pu`7hJ2fS%3Uw<3?P(N^_gI5izpX@c{yAH{O`Bg%_x4>qSuK8w@f*C#JL&cM z(i@By9y2E+UE^v@j*)MaNN)~6mRWqjWvj4B$CrTtwB*tcT(gjhXm{Uw?cWQqX)>CZ zjlY-K!@5oL&2#fT@6y&X;%8Ta)h5 zZXa0~dZ=ih!m!f%(m<-=>Dt{|%&D#eR7FY3$*KoYknIsO}%3-<&mDFX#02~>ER2h^%l~JMjrEAg;**TJ7Y78&YVBRZSuuvIU@IF=H3E8eW zMNuZ5o8%+n19Im#b;^r6`M65k&)rJD8gX{ymQ%oGW$*OV3S)Lea^S5mxk~6gOK(}*Xl>jZZ7-~F zF=e<9;eT`j)QpG|!YOEq?jF6UXU&dPczCM9(#DLOL0vWf#>ui%Z)5$knSabiDf@C9 z10gkDXpOB$yOz9jZwPY_{Pu8f5r}?O6^2>BYW~C_#h0S)d2r59Y}39`R#5YDrd6--gcU!iVeTV6iY91b~=z0#+(YDNisp7SAbh@xoG#Fs6(P&V96 z?mq6#HLtxrcCe_Ton=+l8a}AO#LyO)M1#tm3n|Cy*9b46PnR>)uc!~6Q71s{$zqoA zivAA^Uza_9ta$dcg`(B3g zRH=3NW4JN#CL{a8x_jS&;&r6XW3m4(PYPBeulns`6B-CBm8bcYd2wtAt;Xn;wiko* zMSH(Dd2Z*cv3Aew9etruinXIOf4f3>YHJKjSCW_ z+0)(wfAp)6<{m-rz?w*@Ny-@*e$4{{DvUmfT`s4$KB@ArAbPlr63M6eyk(*xiX!C$n-Daf9l>%-ZjgfzSs`j^ogjN1bwGlc`4ybUxdBNF9aM) z6l3b#?y$i8T3J@O%H!UxRfA)fZYk}0?JGTKC)ri5(r=D8d$s0%JkWU&UjZFwSFl8B zAAKoM=jUX$Id4IoLei4p$qN?PwGK@e*?pV7#GiY4yD9aQVKnRvBw|V;1r}+3f288{ z+|B>HEcWx?yXU%U;+ePUAw2NZJXP3nr2E1lN$)|nCfoihD=&wsGoC8;>UWT#TN4sYf2t4=t^3PaBQvG;vx` z=@EH1{4Usr@(?JW!J$k2Y;88lK&X_y#XUn1C)GKL44Q)wl2k7vTB*Ga)sZgCSeR## zZ5p`<=p!iC@(}@nb%JtDe$iz66D~$$615&z={r_KO^+*Quv%WBwPqQ@x83`*zAwe?FDT!#|%|)nR|g215hQz9Hmiam<3dc48Z-7rF%$^?$b^>hJ{sdJv($z9u^t z4(O9>(vHN0qiHt2LvJ8D zM~au?|Esb}Wt|P%`dnN}bNqt@@9ref8@^b1)$9KMf5@zfjtsyr3?@VzDlTmBVG<*o z*D2d#;0Ev79cc*}0t%J|4`BYEHD)pG*{=uvS%=<(2S{I(CWVK;9P0vXdugf54Cv7DycHN-Q1_TMb*4YZEiN?)t7&8OjeYLFl#aVVk)=88PPyZ9zoS% zpy+-OSRhuoW@FX@eQsC8@xKjL1vw!D00}K<3@kBc`$(=6LlbqdmNa3IoKngmbv1&# zqW5s?D6uw5HSIEEhA#AMnWbV7b#(vwK7mrB@ic)yLm(NL=|u)*LR}Gt!$=meDr(v& zWZwv*e#E2@i~}ZigI7a{JBPG3#RAzQMXT0J_W}2wf@J(+%%ZpknbNU){-1Q+Vso1> zTYz1m-ywJq4}cA)a~!kvox982qJ)$G-Wjv(UGN6z3Jyf^jrca(VAV#iveVzsJlgz3 zl$98Xgo2SPP-)A`1gQ!V{H6asc{;MP@chLYCZuuLtn$LluS0#8>ava_CTD*O1TGku z*>2E!j38D4{$Gl`+IeSWUHeL>Gu-;^T9$t81FcgmXl$C7pBWaIp|{HJ99US8o2WW9 z?ZYD$49i~+3BLt6jxim!!Sf!=hx#fQFAx#U8~hDD7szfpMf$BMNAF$Rg`H4lE=Nkhk3tz={e{cEQ6eF69{hw@O|n*cbgSJtA@<4;w()eU4T)k{#4Ez)`GF-^M&Zpjy|GpvpLfq~OLNrj zu8~9e!&?{0(WTx2B&U#RI8aNXC4Q)2@u7I6WV1p5U*(TJA$*e{neKhe;#3+Yp1%p! z6q1oy!h?~(?tlm=SDz>KA|Zm)87Pm)oe;l-AG6af#vJ}o(X%173L%#47I=mr+uns( z-2y}GjBog3Z{hB9FZxt3^X1X7M+pF3#VZn!lV@a4F;|lb20rQmN+>xb&SSf4-~4u3 z&3mLxwSSVt_iw3h*86j6(Sy(-&;fLUL~1?ZsRZg2RN_Q>q`yoPYu=oT958G_ni7zo zA-EOdzkm&%teaz!MwdqUi?sIs_#;KmJh%r)fICpY5yEG3pfG~4@ZEVuQHT{C+pD}c zW~LTW^tUTEIDpH+NV*Sb-hK$B5YdhFLDR?LA6+TUmpQOqLFn}gF;uBv^RVb(g!Q_K4q>b4$wZR&@z#!LsT@!%H8$cuBYC*7$9K!3%z@X6k6rzNd}}?-0+#O zt^HuX9ur}uM;abJ_>A*-0}402Ge(wIsLFpklV~|?Elppu_3=99yLWI)3CLhTgxdx) z(!{V7Q~w&IN^CQ&7mWl5a%*^NY_S(`nT{ojDz0Z1&0RmZo#j$QPi5V?WHq0eCcIGH zt4d0AE}Tz`zp35as;;CHNlVLoVRtZwC2Srx)7o4;S|+?70ur=msXL<#&iB;_unC%% z!3{;F>!&mEC5o(qp-}*a{|-o!K%wiOx%V7}?jH;@TlEcPB40$Bmu4Ls6Lo1e){^rS zmu7M0mov1~*VFqRD7Nuf4abG&4r$iyfh`8t@;QoGL)z z#x*`!VvW=3X){Rv;ilsYyZmz!`nqq<+R)Napr4SLszR@z;z=*_F@?69o%O+SB8|3J zT0BmfUni>cdf(SR(`XbF2l6p-8=n2DpD`*4^gJVaCwlK}1&)Yx6Ye1u?F4MafMa^V z06^52H+4ag`z5cGY30SW{4VtvCv9PCp^$k0wnko8(fguw>u!6&wO@;9j$Y=r)h5l| zBV7^}(A;1qF)F!`XkN#whrd+68E-*YoCY9185qopu(d~h6}@;Py#DztBcUF8X5|VM z#{0k{JG5q0d50A|l|L=Z+C6akCCiJfYtIW)-%$%X@(c6mY!M9(!i)}a$h;W!% z&!7M|yg9J#-B$z^MaQ(xX@A?F6!VSq12YGbH5&F>T6LS9k@AKw+5N*VRQ^*(-L=dU zcnCWq;m`-?9p3`%&rLXq*p&%LpBK7-Bx~W5Z-Y7vvyE`v0N9Thv8DC-v6g-ED} ztI}>})@A0XY$Z&5-pd5nBXfvVY@%+pQhWOIz_4w^WKY>B2s}VV7ieJGhzR;-fUT;w zKFg`myBpW)zu(bJT|6|eTDlH-CO(W zi6eA9h?kb#k|28UVpy6Si1qGp#DaD&!kUgS`iGXuHguLuiRNIm4*B6u6)w zDK^M`cOko6Ow$Ft-a-Q3d>e>%gDVQovV3u=a)}+;|AP3wo^|#l++ah!GugH0&gxf% z03TU38}7Zrs<~jhD$LYo! zCe}Xo+D5L6)2+22g?9Q8RD1XMFsrC!)t<-!`x06`&v|Fr?}aQOq=*Ts+_Xyc_%a^|9&-1pcdf8 zbsB0wLU*{Docs#5><)U5xTyiV_hq8~;BU8J3X7mtScs5CVH8XEJhG^-y$@w8AD;}0 zSH)s{=%FgO{3%dd0Ud2ssb|mU=1|myWh=TRC>#DtW&Cc1VCr1W_oxeJtK6|(Td3Ih z4>iwFQ{b5v*!SdY5fm1#DQq7;{gB`2`14u>7|*hUKf_-n%v~rvs}OM1Pa>sgXcOum zYY4(OKagZ}(Tb8%mv3gs4-c^xs5G7?9(D}XIPG%39nW_pyYlTh9o)b+Fw&Ev+XT+p zt3kk-|54iFv}XS0+4iF-V<z&$8$8MqF8?@-pu>b!n?O7(AP(->?3+pK%YQ#|L)yJdbBf`g_{XwA!dm0JCn5A zx(Yofk;FPCS8{B`>_taS~5gx}f-Luq$U_Zn7JA>Tl7weIM|f@<8bc zIn7efOlhl{po^WU_Zd$c$!ibJxIXt*ZY|rX~VkIK$&y*Di5m^4> zlb`pJ9xbiBm@dfYEK8E=v^@Ggbuj#(-S%y;H?VZ55$a9}d^0*gu#??(tI`LL*{ zkT9XiLO+%Nus&}hA%(XO)#fN&fgFAW)l?q_Ch>!siHKKRF!*o@BT5H)2;r-+f~lvD z`W&qNCg$BwFh4IKv;JY*fLQvK&jB6a&)Rs9us{>=Qo|mFD1*qX2szDTnvL%?8>+>jL*jY_BDp&Wxj>O!gw`?EhkL~0p~fUC z!gfHCZ9wA`ZhaM+0esVssG^_U@N6_j(Uf)FZ7~jDHtT7k*SOo}q=2dRH(UY#_*u%r+jGpqbU7r8oHlfdf$}L7ArWLi zVKHrNlp5Q<9)JR6*w~F*_5H!YsMa9G7k7lEYG-&V*PXNg%x5! z(0o83k1Wu4yj5M!d0N5;Isxe+)*6e;r||?~T3nEh_r`+`k7D2GKz*I|_CRA-ENnIE8q*f{6m+UqDS?L@XA8 zkcC~H6kTTgaMj@3bI=)2uoZb^z3eO2Nk22PLUe(zL|uQ}ymkT(g>&cyGS&6>U~Q^a zTOlNHhj4*fm6zv z0;3aHw(|=v=IKZKlbRltWuJQcSCK-)G#`@c1e&h3T1;pF>gyUW>TiFtA&DLgbr*XD zp3%tE&u4rEyGOurhd3kODdWDi z9KF0(g9i9pj+z7?TZYtQV?bJh!Xcs2ju@hC>H)nX(B51hz6=)tb{SEFr;E_`o%S!X zeOyXP&gm~jTz9dYu0q)2&z#F%dh(<~;F#)w9}bwaME$a?{1QMupux%1puT=ve@1qC zPP7NYj{?E^1MmzE6S;XkTZ(h_3#IBx)QN3BfJ8`pb$gXs4U$VHiKAWsia;=yXdAXB zs3>X^y&q)a%O2w^;RV++fdJ)!h`ylR1L75dI{Z(RBptz|@IM@IfjA?E5~$>K)sf7; z8^I(;@SdR|fzFY=FvJRa>zJX^N*+*0;UTJ{KjE?zNY;Q^1DAE{T&#~-JDli~g(!sG zG6}!fu-toKT9lzZ{?OpsO!WoL3ZR346|X=_huAC!O1mO1h#v#LFMzXCHFIT<6Flww zP_95(oH}FZ6z%f%Ar)f1Nex5`w2YxbbgLQnxD+x_1P6rPj$O3lCBt9lz=c;U|LVsO z0LPyF#8QC_kF4oR5R3@OP;fR07XPvyZ_oY7UE%6Gsgm+Y;P5{cU)=}yKwxcA1$-Kq z1Xv^4qt9FS-}OZp1E>xplW#1WBP>)Bt`R#S&fbk270dtfW9hGDLQ9e7h+nPa7BH>_ z9H#qiI2$adCo~|_$uFBTDV>nQgG8YST=H>73#2Q;L7RW(Cm>yc@d%(FlzMIuIPsLz zA8A7u42}phMrci)(*Fh@cuesKjl}UK=->SykwOMad-;2Q4l_brf*)K4u8{F1ByXi;Uk$W9sD~SsQz-S@DMS)6*bw*u5MDiD$a>N0VC#jv% z;Cs62$AbjHhG#?Kes>a_;}S%E%o8%Anq@xQ7{&OtOz=cTHY!p`K}9)zOvMcFpM!#T zBi%39UE9CeHUG!BA~BgEo7a4{OApU4TbxtoM@Kw_Kb+nhV-S6;CJegq@i1pF0UACN zeIo=+(1C*y;Mc(hLI)NcUOx{bD!gcE5f-#QLOOE{-O+cf5Q9cSq7DaqtDTW zk$mQQ?9^ODp{BgqlL&UGyL>CjJu@rim6>GvqNDT)sm#SOr`yK1s;|cb-SdkMXs@zV zQb|{YOw=g~y6XTH$iiVW*Hv@za3){swQ7Vx<+*B#_=*oNWP3_%IuphNt?Ids#~J>& zE>Tr)c1&_6WiSkm*{qXxp7M{yfkd}P!+ljM%B4dUdOj6$YL3}{*FF>MzXOt50R2iX zs)rHx=ViIL%z;iYseit@p09h`_+-0yt+cz+W8P6cg-v(gn;T(bq%H36`w;xzoR`oa zoEyQ&W0`&!4oTcd58msXFHIY}uQ|-89oT>2?jietF9ylbw?O)H!gr(U_xX za?r!UhSsFS>yMr@E%Vv9z7`jvK({+-bd*j`;!CB5w!P`wilndNNd&NBq_BwjcpA-Q{gMuXqC4#nCO(H5rN;4L$tq#}6B z5Om>05{6&XeV8X>=75jXDP8n-$X^&Z2W@U6PrV+VFUzSFp)lG9^@UUObjx)=@-qus zOlA)H?Tg8*?#H!QGi)MTI!i0^Nbcdc4>;#rFV>K{`g;lQ<$M|6v1CH@(+DNx8j$?4 zFH&Jxt<9#-;@^jzdrRjKG3GBLl+LJ+p4-u|A}u@m)yuY;Mzm-$F7M+$%izvyXhhD} z_EvJKoV_>3?$vOvg@F>E$jf&-bd(90{EA>W!`dBWfFwC)s1E7t(U*BH7s_lg8tLLE=N_sf1&exbh&I*I>Y0E$V2o zn8VSnJW)O9rXFE6FdDjwutA)dYvDsy@1K zAnqfX3Y{)L5&gbjni(Ot^cG;WP-^0Wwa>1nfSOglv(ABd6Zexx^f zH%`NQ!%?#KLHIqH8d+*u$&IbBHHHnS(+Zx1e(mvT1$&$3ITCF_39Q@x`-4kf9yP8Q z|BnHjn0uUP%IMK0so%OKanC7SPrh4SF;>^>&1$7BK8>Ct zDHjk*u5^+7v{P^0reAC-_UsjN@l^yxq4}aV774OOnq~ z@~TT2=WLCIj(aCsL4WBSU$n6NYR?oA<^hpPbJ`2r>UDPt+qfy=EzZ*}ya3`|&w7vC z;}&^rKbQ8+@~b&if>s2GUZ$#!?xlI3eZ+sL`87AVOWAr+M_U@T?9>X=Cwh5r>%x?STY*Gr zVH@#Qvq5*lIl|Kj-6yGIdJsr%9r1P^UQ{kLh+Rq;Iq(Xz1fJ5_sK@d@*4ow){Y;;+ z&#m3{5+pBXckUN0eglDNx3S^PS6#K^5=eBX){$XM<0;_##jV}>9zAxP@Uxep`R#V4 z<=U=ZbA~%M5i=E{IXiN;TUF%+mG4WP45dg`O)n1pcGvS28JlNOyYNj<4O^ws?)Dlp ze}3HH%!(6gKi3^L*mG_av(y~Gq|0;*CGkH6xN*+SwK2|NNQttf{a!KwtzDq#FTIp& zA%4iWTTYen2fiLp!YOC=@di;1Kd=O&{jhvtRri;UE7S^3C#nM@ZO#-mc)rS;#SEpKf~hv-ogk2E<|A32r& z3UVi8e!eKwD?C|ul&N>^f5;l;RPipVf2{Cu-qcWmIq zf?Ib=uk|itNayBl2c%4=Aih5h1V^Tz7h+%|6sSEF>km!fq#k$>R8L4_wwld?{swK@@%T0 zSZo6`f(;n6pLwZ57|ASIWJ1r$@e&UKyt@1Yb)QS7-Q~19HBSY-^-wPksk7DO0`T_F> z>w*_8(Z^iP^U@D=9CN+nTDvFO9EW(wP|Ex7`K>e$u5;5prAi7{tb`YCC{LaVsX;vh601+(fMXPkC+B>qUa? zcz)=>(;dFDwTaowdRxt#fpNG%cn(0;_5UG(K(_F{U z4rqI|czjB|8b3i=W-1@xnJF*V%b-!Ytv)R0R z9L-i?^TBSH{MfmV(b%qM4qfX^7MrxHW~zjK6%bw_N-Jvq95D8I0b8M_2GUJRo8QGnAu0x38#1^bem68`8Q3L zzOKT5@>$=VzRI7x?S$LUGv__0Z|UF5Avs6?TyRBAPpX&4{SNVQ^e(HTq`&+Qt_@}# zu)sI3LE&y}DLO)2GXH&zuWMFkM)c_18(!ZK#>0@~U%xm`n6=gjS~i`A_*?I`6ajn^bJMuSj{eN)y<|$@^Y>tY#j&!nYpZcsp;)4JxIN zN%Mr8*US4}E!?}BBOM1(HP9+Wupd`9d@f-JldsWuyc>FC|MA9nmGC`Qg~+(I?UI znnl45wNmfOf61(_3N4+?a94;85O3G(tHPdIldDVU%&_5e4X_P_(yvR?e^qt~;y}4T z@TLU^o#oZDIMk<|JByp?hojHa&2l()u{j#r$=o+Q+gjRc6JCRb?iULm|91BsMZ8>T?v+mIe7x^)p#x0*08%g{D zY%wnq%O@*ApRWZRN13qL>;GpVe08(gAUg6P>$;2a4(m9x>PebRX7$&!GOvSmGWBl@ zk8JD6Oz-xcRwH;s68Ni-XKG&RUklk*;?MhEm)OC@8 zG7p_Z)+Bm|wZl8y5LF>o>WgY=2;p-vJ)Ct1MWBLx!Tt}G*aK^F|F}qfWAmsk_@P?& z;<=ef+ERwM#p(Zq{s-Wg8%s*-%Kl$M1uJGFop3J@wt<-$f>I$|p?* z^P+1Uwa_}5H}jOt!Jz2dYhW%|NC!>Pcu}wsn$DrZiY#F);j|D(yRT@o6=*H+||2u zxd;0nWFgT!+lf7+QjIJR-R}Qp+_`eg$>0A#h-F-7xr{5Q^DHN&|3V8L;qXI%Jqj=y zL49ZWhyIsCYW^1-K|Z~V!!75wSD?u&FF@a&2HlyF8f227RjUHVCr{9>8A`TVl#>b= zM{jK-jzm%yyJtZdc4g0{|Mb=5F1C7htyj+cwEV}sN5IBQ<=&f=cNcUSU5Oe>5uGpd znVg98usO~bn%N0oAPel|Je z9-+*`!T%|V^ZuP(e*&7$LkrX}ev22Su0d$;S}5?FDl6>E;}JsXBQfaC!rVOp}N(;>to1VhfcMa0Ndx9 z!+!@u<F(5q^Z&n%p!s}{~Av^{8lerV2NlX-&ok&~b zQGYk!iKauJ9Mo&it^((rW66fSv{466*XZ$B_+vEFa;6}f>n+>#P~nROr^1SQ7}$on zO-spgTcHt^$eo)(+@;8zu3Zu10sBxx$u;e~$2rjVH%tRBuV%L5@w1MYBg`(6IPMJo zk0qoDH9V^hn{F$!Vc`(_KD@_avAQpQfg{|7u9uwFw1V@JCuUMI+C7_Ia`OBFpG6FH z#hkVA;QMkHvCXoCFM!R?ApM{{M-ymOm0s6-zAHm?f0N`lO@lKKbpoGKa*>+Ab;yF& z=Nnpt<_D&8x@7cYkZ#5^{^RVtGp_U#-M5%IoV4B%!aKlmn_7}E&Oxc%i!Exw`Bx9|$%v5nHxZ#Z<-WH72_+rAU-A11TP3Wx4e0Lz`yi z{MX36+unfxg4@r#5_3d+$mPW$wSLV()as`lk`yIjEj#&!mj|t!s_=C}8;(&FoorU~ z9u@BM3>>}-J!(CVLbdfKht1i0&ZJN0j!y5%*03l*$zV#sC2nq zeB3b|aNc{ov|wpY7=pIfvLB#zbQU$R<+qs+Z(F;SFBcC5@>@ugTTxjrI#yFQIw>|? zPi9|`Z5XP3Gumy@}F+?n(nx|4E|u~0N*P*Ck=_E;QOiR`fNG_7tq--UiGsosIgp3!*kI{iLj zzodvgF+R_>m!P%RS+RoP?Azi!Rb^mf+P|kauZein@iq^Rjjl?ADE88vBL2cY$ttw2 zYq<>FZ@aT%CUN{c{CU~`EAPtxl1kUO<;NP+a&BsFskbS$X(YAO5Cbc7Y{oUq6_b=9 zbOgl`ccUiF(uC%gwy2quVk(kLU~Uwqr)1JB7ZlB5taJnya>GQt@9EzEVxC{#^Z6X! z^FGgW-sRyu%lALUtAYKmFw319gWc8Xf8A_)AoeKn-3>79dB;=bFycMy7VGJkPoJ^p zZxXu8qD~@lU*>R4>OOb#b=Ii?vTeBOl!q=TJ1z;u%q?CFS)3aH>mH^JS+$>t-lR{O zl8($dVNBSc^rxq1XD(>N_YB|PbjWimD36mU+XK%_-@ANrj_Hd92JhEro<1GWA`i&_ z|1U!4HC8nbpy42DK(@A>w>$58^}VF1#0SO=ybc{?x z9%$4)JgWP~VELsbkc1N)c0kWs5iN;`u;&I-?~QZO3u2)4t!b@!OGuFajOtrC4G_W0plBPAv*?IUlx zw!omFyAauDn)J3_cDNz&xfZ- ze1c~@#)qf9n?AQ%tMAd;qVEd)2{4Oq&Va)drj%>Imjvh#1022Z#e^LQ0)q(+Obxib z4}k+3rg`Aff!hma;9Q3<-r)a%5AlI(#!Z{fBxPY+(~>ckMKE%nw0|^AL|a>}`z-SfC0pFvQQau?5tIE&N5ACC2lGkYcjsD+1-tI%W)3@KzDJ^|GAbe~$yq<-* z(1Vex-$7N}W2pE2y{MhIX}l$c4QBIcg^?eKHsRcuWziD{?}TdAT}sZ!N@X9^GoJSf z_YW){hA5jZC*&O+(MdeXD=-g>Z$!fbzBSq^8D0=E0xK{pnPNKDYruBOb}6tsnl&igB07HhFT7yU%t<6nV#=GS+e zPW5#lN##*aA@`1N3|crML4o4cg_*mh$`zrFZo;%zLp3vH2qS$awwsk^gg@*$Yi%gP zTqXM;ixJ%-#|(zQLLov42q9>F9Fm44#SgFIIa9u98g5q_iJV$LjEWHUBAqXHaNjN3 zg>vK!z8={pso6`G1Vn@aNk$R{#iSymn|<9&hjD^5O2V$j1^Bd&+L+AP@Fo#S=E~BAcgTNjOqy!`|FF zkf>bQR7k<$=Zp%@P^s1tE1cw2f}UxjDW56lhGO&k$)rM;*s6OyNzULS`1{+GVmI-& z%V%-{6vzDVH;i08GNU6ZWOteh%Kx4_rAjg}5Oepri6c78qVJlnd2{^*W9F3xm@M$> zz0GbIViUm>AREwDr2RLT<41#ZV6J;TbX+})=(S}l;g!3UnMD$&ZPXkVEj7%tcu2_8 z*oN~bVrlJM3+tM$hW=P+$8dh5P?K@>wE?!+YyTG)?pk<@t*0@Y_iM9h@#Bnc2J=ls zw-wAT+HS~YO>u>98Xy?+t&go4KTJxkH?J6vZr3g=DY{xM zmfD9UsB0Y%z1RiAjkR-w1{R@Weq?HdApLjd)M8XCGkpthKNnpy{#2B-))2kYxtM-m z_S7u33eM_O=5YPT+QzIU3X#$cLRDc;`iKp%iAJZGzsl@-iVIxBW(|RwkYaLlNmy>h!ZeD0^7xGm5Co5eToS6uIa z7GbT9IFQ<&Qq$VH9-#(|XX?6=kGuEJ#6zg(A!kHa4f?d4KUWY-Ud|K_{41e>-1LMl zN;#QUfftiWCW6MYU!5e5M&iAA=(UapD$IC12OZwAM3b8Nh}MenLw(AQeyO<@ z?I|~w%Vz>CvYy85jx6Yqy^J5grt?ol2=S2GFX1A^kYT|D?3wN zzaWr?Un!NV8u8*lR$bVW?OIlnR>fR-26P~_I`2BDI@crr!8leN)$Ve}ZJn1rW|$~0 z6WJG|!z8Ua=o#hK&%9u1)m-5`4>FI1j*cnEPH<-|)2fuzi8Ya&F6X(Il3Y#-@X?U< zaDa)q*|;bv)sxh`IV+p)p|~B?BErk+l9kD>;YCbBK%bU5{zQBscs*~@+faoM2KBZI zW*vI-IW(dr|ofBP@xq2_D= diff --git a/examples/trials/auto-gbdt/config.yml b/examples/trials/auto-gbdt/config.yml index 29fda16ec8..512127f83f 100644 --- a/examples/trials/auto-gbdt/config.yml +++ b/examples/trials/auto-gbdt/config.yml @@ -18,4 +18,4 @@ tuner: trial: command: python3 main.py codeDir: . - gpuNum: 0 + gpuNum: 0 \ No newline at end of file From 9397b6f696b1e51ee76cf04c8269d72f122fe2af Mon Sep 17 00:00:00 2001 From: fishyds Date: Mon, 17 Dec 2018 17:30:17 +0800 Subject: [PATCH 5/5] [PAITrainingService] Improve uploading codeDir efficiency (#479) * [PAI training service] codeDir files upload improvement * Create full local temp folder * Organize the folder structure for experiment and trial files --- .../training_service/pai/hdfsClientUtility.ts | 26 +++++++++ .../training_service/pai/paiData.ts | 2 +- .../pai/paiTrainingService.ts | 30 +++++++--- tools/nni_trial_tool/hdfsClientUtility.py | 55 +++++++++++++++++-- tools/nni_trial_tool/trial_keeper.py | 13 ++++- 5 files changed, 109 insertions(+), 17 deletions(-) diff --git a/src/nni_manager/training_service/pai/hdfsClientUtility.ts b/src/nni_manager/training_service/pai/hdfsClientUtility.ts index e650639624..489fb830f7 100644 --- a/src/nni_manager/training_service/pai/hdfsClientUtility.ts +++ b/src/nni_manager/training_service/pai/hdfsClientUtility.ts @@ -20,12 +20,38 @@ import * as path from 'path'; import * as fs from 'fs'; import { Deferred } from 'ts-deferred'; +import { getExperimentId } from '../../common/experimentStartupInfo'; import { getLogger } from '../../common/log'; /** * HDFS client utility, including copy file/directory */ export namespace HDFSClientUtility { + /** + * Get NNI experiment root directory + * @param hdfsUserName HDFS user name + */ + function hdfsExpRootDir(hdfsUserName: string): string { + return path.join('/', hdfsUserName, 'nni', 'experiments', getExperimentId()); + } + + /** + * Get NNI experiment code directory + * @param hdfsUserName HDFS user name + */ + export function getHdfsExpCodeDir(hdfsUserName: string): string { + return path.join(hdfsExpRootDir(hdfsUserName), 'codeDir'); + } + + /** + * Get NNI trial working directory + * @param hdfsUserName HDFS user name + * @param trialId NNI trial ID + */ + export function getHdfsTrialWorkDir(hdfsUserName: string, trialId: string): string { + return path.join(hdfsExpRootDir(hdfsUserName), 'trials', trialId); + } + /** * Copy a local file to hdfs directory * diff --git a/src/nni_manager/training_service/pai/paiData.ts b/src/nni_manager/training_service/pai/paiData.ts index bb22f56900..036c206c68 100644 --- a/src/nni_manager/training_service/pai/paiData.ts +++ b/src/nni_manager/training_service/pai/paiData.ts @@ -63,7 +63,7 @@ export const PAI_TRIAL_COMMAND_FORMAT: string = `export NNI_PLATFORM=pai NNI_SYS_DIR={0} NNI_OUTPUT_DIR={1} NNI_TRIAL_JOB_ID={2} NNI_EXP_ID={3} NNI_TRIAL_SEQ_ID={4} && cd $NNI_SYS_DIR && sh install_nni.sh && python3 -m nni_trial_tool.trial_keeper --trial_command '{5}' --nnimanager_ip '{6}' --nnimanager_port '{7}' ---pai_hdfs_output_dir '{8}' --pai_hdfs_host '{9}' --pai_user_name {10}`; +--pai_hdfs_output_dir '{8}' --pai_hdfs_host '{9}' --pai_user_name {10} --nni_hdfs_exp_dir '{11}'`; export const PAI_OUTPUT_DIR_FORMAT: string = `hdfs://{0}:9000/`; diff --git a/src/nni_manager/training_service/pai/paiTrainingService.ts b/src/nni_manager/training_service/pai/paiTrainingService.ts index 444f5a40ca..706f5eebff 100644 --- a/src/nni_manager/training_service/pai/paiTrainingService.ts +++ b/src/nni_manager/training_service/pai/paiTrainingService.ts @@ -30,7 +30,7 @@ import { CONTAINER_INSTALL_NNI_SHELL_FORMAT } from '../common/containerJobData'; import { Deferred } from 'ts-deferred'; import { EventEmitter } from 'events'; import { getExperimentId, getInitTrialSequenceId } from '../../common/experimentStartupInfo'; -import { HDFSClientUtility } from './hdfsClientUtility' +import { HDFSClientUtility } from './hdfsClientUtility'; import { MethodNotImplementedError } from '../../common/errors'; import { getLogger, Logger } from '../../common/log'; import { TrialConfigMetadataKey } from '../common/trialConfigMetadataKey'; @@ -38,7 +38,7 @@ import { JobApplicationForm, TrainingService, TrialJobApplicationForm, TrialJobDetail, TrialJobMetric, NNIManagerIpConfig } from '../../common/trainingService'; -import { countFilesRecursively, delay, generateParamFileName, +import { delay, generateParamFileName, getExperimentRootDir, getIPV4Address, uniqueString } from '../../common/utils'; import { PAIJobRestServer } from './paiJobRestServer' import { PAITrialJobDetail, PAI_TRIAL_COMMAND_FORMAT, PAI_OUTPUT_DIR_FORMAT, PAI_LOG_PATH_FORMAT } from './paiData'; @@ -74,6 +74,7 @@ class PAITrainingService implements TrainingService { private nextTrialSequenceId: number; private paiRestServerPort?: number; private nniManagerIpConfig?: NNIManagerIpConfig; + private copyExpCodeDirPromise?: Promise; constructor() { this.log = getLogger(); @@ -145,11 +146,11 @@ class PAITrainingService implements TrainingService { throw new Error('PAI token is not initialized'); } - if(!this.hdfsBaseDir){ + if(!this.hdfsBaseDir) { throw new Error('hdfsBaseDir is not initialized'); } - if(!this.hdfsOutputHost){ + if(!this.hdfsOutputHost) { throw new Error('hdfsOutputHost is not initialized'); } @@ -160,6 +161,11 @@ class PAITrainingService implements TrainingService { this.log.info(`submitTrialJob: form: ${JSON.stringify(form)}`); + // Make sure experiment code files is copied from local to HDFS + if(this.copyExpCodeDirPromise) { + await this.copyExpCodeDirPromise; + } + const trialJobId: string = uniqueString(5); const trialSequenceId: number = this.generateSequenceId(); //TODO: use HDFS working folder instead @@ -167,8 +173,7 @@ class PAITrainingService implements TrainingService { const trialLocalTempFolder: string = path.join(getExperimentRootDir(), 'trials-local', trialJobId); //create tmp trial working folder locally. - await cpp.exec(`mkdir -p ${path.dirname(trialLocalTempFolder)}`); - await cpp.exec(`cp -r ${this.paiTrialConfig.codeDir} ${trialLocalTempFolder}`); + await cpp.exec(`mkdir -p ${trialLocalTempFolder}`); const runScriptContent : string = CONTAINER_INSTALL_NNI_SHELL_FORMAT; // Write NNI installation file to local tmp files @@ -182,8 +187,8 @@ class PAITrainingService implements TrainingService { } // Step 1. Prepare PAI job configuration - const paiJobName : string = `nni_exp_${this.experimentId}_trial_${trialJobId}`; - const hdfsCodeDir : string = path.join(this.expRootDir, trialJobId); + const paiJobName: string = `nni_exp_${this.experimentId}_trial_${trialJobId}`; + const hdfsCodeDir: string = HDFSClientUtility.getHdfsTrialWorkDir(this.paiClusterConfig.userName, trialJobId); const hdfsOutputDir : string = path.join(this.hdfsBaseDir, this.experimentId, trialJobId); const hdfsLogPath : string = String.Format( @@ -215,7 +220,8 @@ class PAITrainingService implements TrainingService { this.paiRestServerPort, hdfsOutputDir, this.hdfsOutputHost, - this.paiClusterConfig.userName + this.paiClusterConfig.userName, + HDFSClientUtility.getHdfsExpCodeDir(this.paiClusterConfig.userName) ).replace(/\r\n|\n|\r/gm, ''); console.log(`nniPAItrial command is ${nniPaiTrialCommand.trim()}`); @@ -390,6 +396,7 @@ class PAITrainingService implements TrainingService { } this.hdfsOutputHost = groups['host']; + //TODO: choose to use /${username} as baseDir this.hdfsBaseDir = groups['baseDir']; if(this.hdfsBaseDir === undefined) { this.hdfsBaseDir = "/"; @@ -414,6 +421,11 @@ class PAITrainingService implements TrainingService { } catch(error) { deferred.reject(new Error(`HDFS encounters problem, error is ${error}. Please check hdfsOutputDir host!`)); } + + // Copy experiment files from local folder to HDFS + this.copyExpCodeDirPromise = HDFSClientUtility.copyDirectoryToHdfs(this.paiTrialConfig.codeDir, + HDFSClientUtility.getHdfsExpCodeDir(this.paiClusterConfig.userName), + this.hdfsClient); deferred.resolve(); break; diff --git a/tools/nni_trial_tool/hdfsClientUtility.py b/tools/nni_trial_tool/hdfsClientUtility.py index 0b6daeb2c4..93396770e5 100644 --- a/tools/nni_trial_tool/hdfsClientUtility.py +++ b/tools/nni_trial_tool/hdfsClientUtility.py @@ -19,10 +19,55 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. import os +import posixpath from pyhdfs import HdfsClient +from .log_utils import LogType, nni_log + +def copyHdfsDirectoryToLocal(hdfsDirectory, localDirectory, hdfsClient): + '''Copy directory from HDFS to local''' + if not os.path.exists(localDirectory): + os.makedirs(localDirectory) + try: + listing = hdfsClient.list_status(hdfsDirectory) + except Exception as exception: + nni_log(LogType.Error, 'List hdfs directory {0} error: {1}'.format(hdfsDirectory, str(exception))) + raise exception + + for f in listing: + if f.type == 'DIRECTORY': + subHdfsDirectory = posixpath.join(hdfsDirectory, f.pathSuffix) + subLocalDirectory = os.path.join(localDirectory, f.pathSuffix) + copyHdfsDirectoryToLocal(subHdfsDirectory, subLocalDirectory, hdfsClient) + elif f.type == 'FILE': + hdfsFilePath = posixpath.join(hdfsDirectory, f.pathSuffix) + localFilePath = os.path.join(localDirectory, f.pathSuffix) + copyHdfsFileToLocal(hdfsFilePath, localFilePath, hdfsClient) + else: + raise AssertionError('unexpected type {}'.format(f.type)) + +def copyHdfsFileToLocal(hdfsFilePath, localFilePath, hdfsClient, override=True): + '''Copy file from HDFS to local''' + if not hdfsClient.exists(hdfsFilePath): + raise Exception('HDFS file {} does not exist!'.format(hdfsFilePath)) + try: + file_status = hdfsClient.get_file_status(hdfsFilePath) + if file_status.type != 'FILE': + raise Exception('HDFS file path {} is not a file'.format(hdfsFilePath)) + except Exception as exception: + nni_log(LogType.Error, 'Get hdfs file {0} status error: {1}'.format(hdfsFilePath, str(exception))) + raise exception + + if os.path.exists(localFilePath) and override: + os.remove(localFilePath) + try: + hdfsClient.copy_to_local(hdfsFilePath, localFilePath) + except Exception as exception: + nni_log(LogType.Error, 'Copy hdfs file {0} to {1} error: {2}'.format(hdfsFilePath, localFilePath, str(exception))) + raise exception + nni_log(LogType.Info, 'Successfully copied hdfs file {0} to {1}, {2} bytes'.format(hdfsFilePath, localFilePath, file_status.length)) def copyDirectoryToHdfs(localDirectory, hdfsDirectory, hdfsClient): - '''Copy directory from local to hdfs''' + '''Copy directory from local to HDFS''' if not os.path.exists(localDirectory): raise Exception('Local Directory does not exist!') hdfsClient.mkdirs(hdfsDirectory) @@ -34,19 +79,19 @@ def copyDirectoryToHdfs(localDirectory, hdfsDirectory, hdfsClient): try: result = result and copyDirectoryToHdfs(file_path, hdfs_directory, hdfsClient) except Exception as exception: - print(exception) + nni_log(LogType.Error, 'Copy local directory {0} to hdfs directory {1} error: {2}'.format(file_path, hdfs_directory, str(exception))) result = False else: hdfs_file_path = os.path.join(hdfsDirectory, file) try: result = result and copyFileToHdfs(file_path, hdfs_file_path, hdfsClient) except Exception as exception: - print(exception) + nni_log(LogType.Error, 'Copy local file {0} to hdfs {1} error: {2}'.format(file_path, hdfs_file_path, str(exception))) result = False return result def copyFileToHdfs(localFilePath, hdfsFilePath, hdfsClient, override=True): - '''Copy a local file to hdfs directory''' + '''Copy a local file to HDFS directory''' if not os.path.exists(localFilePath): raise Exception('Local file Path does not exist!') if os.path.isdir(localFilePath): @@ -60,5 +105,5 @@ def copyFileToHdfs(localFilePath, hdfsFilePath, hdfsClient, override=True): hdfsClient.copy_from_local(localFilePath, hdfsFilePath) return True except Exception as exception: - print(exception) + nni_log(LogType.Error, 'Copy local file {0} to hdfs file {1} error: {2}'.format(localFilePath, hdfsFilePath, str(exception))) return False \ No newline at end of file diff --git a/tools/nni_trial_tool/trial_keeper.py b/tools/nni_trial_tool/trial_keeper.py index ad6535b951..dc449fa303 100644 --- a/tools/nni_trial_tool/trial_keeper.py +++ b/tools/nni_trial_tool/trial_keeper.py @@ -28,7 +28,7 @@ from pyhdfs import HdfsClient from .constants import HOME_DIR, LOG_DIR, NNI_PLATFORM, STDOUT_FULL_PATH, STDERR_FULL_PATH -from .hdfsClientUtility import copyDirectoryToHdfs +from .hdfsClientUtility import copyDirectoryToHdfs, copyHdfsDirectoryToLocal from .log_utils import LogType, nni_log from .metrics_reader import read_experiment_metrics @@ -42,6 +42,15 @@ def main_loop(args): stdout_file = open(STDOUT_FULL_PATH, 'a+') stderr_file = open(STDERR_FULL_PATH, 'a+') + + try: + hdfs_client = HdfsClient(hosts='{0}:{1}'.format(args.pai_hdfs_host, '50070'), user_name=args.pai_user_name, timeout=5) + except Exception as e: + nni_log(LogType.Error, 'Create HDFS client error: ' + str(e)) + raise e + + copyHdfsDirectoryToLocal(args.nni_hdfs_exp_dir, os.getcwd(), hdfs_client) + # Notice: We don't appoint env, which means subprocess wil inherit current environment and that is expected behavior process = Popen(args.trial_command, shell = True, stdout = stdout_file, stderr = stderr_file) nni_log(LogType.Info, 'Trial keeper spawns a subprocess (pid {0}) to run command: {1}'.format(process.pid, shlex.split(args.trial_command))) @@ -57,7 +66,6 @@ def main_loop(args): # Copy local directory to hdfs for OpenPAI nni_local_output_dir = os.environ['NNI_OUTPUT_DIR'] try: - hdfs_client = HdfsClient(hosts='{0}:{1}'.format(args.pai_hdfs_host, '50070'), user_name=args.pai_user_name, timeout=5) if copyDirectoryToHdfs(nni_local_output_dir, args.pai_hdfs_output_dir, hdfs_client): nni_log(LogType.Info, 'copy directory from {0} to {1} success!'.format(nni_local_output_dir, args.pai_hdfs_output_dir)) else: @@ -85,6 +93,7 @@ def trial_keeper_help_info(*args): PARSER.add_argument('--pai_hdfs_output_dir', type=str, help='the output dir of hdfs') PARSER.add_argument('--pai_hdfs_host', type=str, help='the host of hdfs') PARSER.add_argument('--pai_user_name', type=str, help='the username of hdfs') + PARSER.add_argument('--nni_hdfs_exp_dir', type=str, help='nni experiment directory in hdfs') args, unknown = PARSER.parse_known_args() if args.trial_command is None: exit(1)