From 6784688a8c97c0142cd85f4349bbf9880e9c94b0 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Tue, 9 May 2017 06:27:37 +0000 Subject: [PATCH] Deploy to GitHub Pages: ad789814adc619bd81234dd409126ab99f68239b --- ...00840e833ead7ea6247faeb79235bf4bdfd442.png | Bin 13229 -> 0 bytes ...0e833ead7ea6247faeb79235bf4bdfd442.png.map | 2 - ...2b084d1b1b525450b262148a6b8c5f2a2c3c68.png | Bin 33843 -> 0 bytes ...4d1b1b525450b262148a6b8c5f2a2c3c68.png.map | 2 - .../concepts/use_concepts_cn.rst.txt | 150 ++++++ .../_sources/getstarted/index_cn.rst.txt | 1 + .../doc_cn/_sources/howto/index_cn.rst.txt | 1 - .../usage/concepts/use_concepts_cn.rst.txt | 139 ----- release/0.10.0/doc_cn/about/index_cn.html | 2 +- release/0.10.0/doc_cn/api/index_cn.html | 2 +- .../api/v1/data_provider/dataprovider_cn.html | 2 +- .../v1/data_provider/pydataprovider2_cn.html | 2 +- release/0.10.0/doc_cn/api/v1/index_cn.html | 2 +- .../api/v1/predict/swig_py_paddle_cn.html | 2 +- .../trainer_config_helpers/activations.html | 2 +- .../api/v1/trainer_config_helpers/attrs.html | 2 +- .../trainer_config_helpers/data_sources.html | 2 +- .../v1/trainer_config_helpers/evaluators.html | 2 +- .../api/v1/trainer_config_helpers/layers.html | 2 +- .../v1/trainer_config_helpers/networks.html | 2 +- .../v1/trainer_config_helpers/optimizers.html | 2 +- .../v1/trainer_config_helpers/poolings.html | 2 +- .../doc_cn/api/v2/config/activation.html | 2 +- release/0.10.0/doc_cn/api/v2/config/attr.html | 2 +- .../0.10.0/doc_cn/api/v2/config/layer.html | 2 +- .../0.10.0/doc_cn/api/v2/config/networks.html | 2 +- .../doc_cn/api/v2/config/optimizer.html | 2 +- .../0.10.0/doc_cn/api/v2/config/pooling.html | 2 +- release/0.10.0/doc_cn/api/v2/data.html | 2 +- .../0.10.0/doc_cn/api/v2/model_configs.html | 2 +- release/0.10.0/doc_cn/api/v2/run_logic.html | 2 +- release/0.10.0/doc_cn/design/api.html | 2 +- release/0.10.0/doc_cn/design/dist/README.html | 2 +- .../multi_language_interface/why_plain_c.html | 2 +- .../0.10.0/doc_cn/design/reader/README.html | 2 +- release/0.10.0/doc_cn/faq/index_cn.html | 2 +- release/0.10.0/doc_cn/genindex.html | 2 +- .../getstarted/basic_usage/index_cn.html | 2 +- .../cmake/build_from_source_cn.html | 6 +- .../build_and_install/docker_install_cn.html | 2 +- .../build_and_install/index_cn.html | 2 +- .../build_and_install/ubuntu_install_cn.html | 2 +- .../getstarted/concepts/use_concepts_cn.html | 505 ++++++++++++++++++ .../0.10.0/doc_cn/getstarted/index_cn.html | 3 +- .../deep_model/rnn/hierarchical_layer_cn.html | 2 +- .../rnn/hrnn_rnn_api_compare_cn.html | 2 +- .../doc_cn/howto/deep_model/rnn/index_cn.html | 2 +- .../deep_model/rnn/recurrent_group_cn.html | 2 +- .../howto/deep_model/rnn/rnn_config_cn.html | 2 +- .../howto/dev/contribute_to_paddle_cn.html | 2 +- .../0.10.0/doc_cn/howto/dev/new_layer_cn.html | 2 +- .../doc_cn/howto/dev/write_docs_cn.html | 2 +- release/0.10.0/doc_cn/howto/index_cn.html | 7 +- .../howto/optimization/gpu_profiling_cn.html | 2 +- .../howto/usage/cluster/cluster_train_cn.html | 6 +- .../usage/cmd_parameter/arguments_cn.html | 2 +- .../cmd_parameter/detail_introduction_cn.html | 6 +- .../howto/usage/cmd_parameter/index_cn.html | 2 +- .../usage/cmd_parameter/use_case_cn.html | 2 +- .../howto/usage/concepts/use_concepts_cn.html | 503 ----------------- .../doc_cn/howto/usage/k8s/k8s_basis_cn.html | 2 +- .../0.10.0/doc_cn/howto/usage/k8s/k8s_cn.html | 2 +- .../howto/usage/k8s/k8s_distributed_cn.html | 2 +- .../howto/usage/k8s/src/k8s_data/README.html | 2 +- .../howto/usage/k8s/src/k8s_train/README.html | 2 +- release/0.10.0/doc_cn/index_cn.html | 2 +- release/0.10.0/doc_cn/objects.inv | Bin 2780 -> 2782 bytes release/0.10.0/doc_cn/py-modindex.html | 2 +- release/0.10.0/doc_cn/search.html | 2 +- release/0.10.0/doc_cn/searchindex.js | 2 +- .../tutorials/embedding_model/index_cn.html | 2 +- .../image_classification/index_cn.html | 2 +- .../imagenet_model/resnet_model_cn.html | 2 +- release/0.10.0/doc_cn/tutorials/index_cn.html | 2 +- .../tutorials/quick_start/index_cn.html | 2 +- .../doc_cn/tutorials/rec/ml_dataset_cn.html | 2 +- .../tutorials/rec/ml_regression_cn.html | 2 +- .../semantic_role_labeling/index_cn.html | 2 +- .../sentiment_analysis/index_cn.html | 2 +- .../tutorials/text_generation/index_cn.html | 2 +- 80 files changed, 734 insertions(+), 725 deletions(-) delete mode 100644 release/0.10.0/doc_cn/_images/graphviz-8d00840e833ead7ea6247faeb79235bf4bdfd442.png delete mode 100644 release/0.10.0/doc_cn/_images/graphviz-8d00840e833ead7ea6247faeb79235bf4bdfd442.png.map delete mode 100644 release/0.10.0/doc_cn/_images/graphviz-e02b084d1b1b525450b262148a6b8c5f2a2c3c68.png delete mode 100644 release/0.10.0/doc_cn/_images/graphviz-e02b084d1b1b525450b262148a6b8c5f2a2c3c68.png.map create mode 100644 release/0.10.0/doc_cn/_sources/getstarted/concepts/use_concepts_cn.rst.txt delete mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/concepts/use_concepts_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/getstarted/concepts/use_concepts_cn.html delete mode 100644 release/0.10.0/doc_cn/howto/usage/concepts/use_concepts_cn.html diff --git a/release/0.10.0/doc_cn/_images/graphviz-8d00840e833ead7ea6247faeb79235bf4bdfd442.png b/release/0.10.0/doc_cn/_images/graphviz-8d00840e833ead7ea6247faeb79235bf4bdfd442.png deleted file mode 100644 index 8d04f606d0bf3701e3a06272838aec17d60b1fed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13229 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 VbMH$LeE$Zes;H?@ENA}YzXAO6Ec5^X diff --git a/release/0.10.0/doc_cn/_images/graphviz-8d00840e833ead7ea6247faeb79235bf4bdfd442.png.map b/release/0.10.0/doc_cn/_images/graphviz-8d00840e833ead7ea6247faeb79235bf4bdfd442.png.map deleted file mode 100644 index 5fa10d66d2..0000000000 --- a/release/0.10.0/doc_cn/_images/graphviz-8d00840e833ead7ea6247faeb79235bf4bdfd442.png.map +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/release/0.10.0/doc_cn/_images/graphviz-e02b084d1b1b525450b262148a6b8c5f2a2c3c68.png b/release/0.10.0/doc_cn/_images/graphviz-e02b084d1b1b525450b262148a6b8c5f2a2c3c68.png deleted file mode 100644 index 56cc7d30e2921851dff0411ecfbe36955afc1798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33843 zcmcG$2{e}N+c&CFX;f(VI<)?V@+!mVsG*nbnTV&5m zDN|9c=AxonwP(Y6{E6lAT0{J@-a!7G6x9m(zo&1Whfz@-q>`07qv9Ad^4LYYes*PL z^uT*gTTaUMBzEO}VehJid}zh{^McI-+c&7}Kcq(f{^0gx{)<;wVmUQ6rTbbzMn>jn(D|p9{QUg2tZGlh z-L7m(piN#K6&2OLgUevqF^|1rQE7Mi7MB0NZZ$=DU8nz5Gc(O3<=1x}9TF0Xs;H1k zis}6H=|RL%EzbV0chtjTV;g>VzNFY*x3aS8cxfH{=+PtP`eW<|3bpIsxXiwZ@3T*xn+Il@zn=d8=b)f5w%Y~RzO6~8G!#2F$9xm19MZS5M zDgO(7a?!Qc%mY*$92|0tvi-gR0fx=VO1pON=5%47rqSPXCv-zJ`3F+pq>a_pbSwMo zB3J!v&0?ZbQc?<}KY2e%K9bLA!f1YW^pd0FDQ|D@7;(2pxO+o$b2*ga(!%U>tIh&c z>j-6Gm65S=j?3(IwhIqWk9NJ;xM4$CTie4YVlF%O?UU8e*n9u}{hvcajS1(rF*7s! z2l1XbvD4bx`k6v>Ri}07#|MWb=N3jwSGDC^?4hNlWnp9E!>6|XnJoIXy%=km9Y8Ks zP-%z$PKP$OAFADN?@~{ct}MUSmY}S9aBHMZNmo(v;H8TfBbbEk&vzAAX*uPYeEe~1 zw2M;LZ|hWj|3Lo%VfzQ^*=`<>-urq6UoW!LIUoHCHjVim4-{^wuRcd znsJk3J(AebwfR<&JUX1Ni}Byo=>^QaJUv&vySK%#CY06w=ciRv9v&XeEiF;JhU@vF z0`DIXndpAIW@2)3Rd#mvL1E!X&o9L`6+77tIc9ZU;)zVi%)FnJ#2OM3LiNJz^SxKE zPWgB7NlHpiOiZv)oR=4!Wb-3g*x7xR5@h0@JyRQb)!#m-+Nz{VF5^IY%QFRf^c3@H z$D~6e@dLkmtAgnJJ1$V-BOnJ&v@*F{$c_twd5mngo=M@xKPo9jt zb7%F?N=u8LW09QunXJyN7lPCNPc!2AtvbRxUs}trl-TyusHv%aEq2QL+N$xyP1oUo zHD@_bZOQ$UwE8=Z^{S(Nv;A_j5_psb4b7XB|Fq zBFts>PY8uF-L&$ClRcGhVMDFV|Fq?9DQe~@>y9>KH54yjHvI8Eq-@1aD66wHcj3)e zE-o%xTidp5eaW1L!_3Tc*u_a6dsKV+znwcc692-j%ic?2Lo~Zzw%@$zPR?KJYwPRR zA3Sp8`G?=w3^G@)>_@?Mf634a-8MDRU$>W@J}f$VQ}LXwfPg^Vn^-(Y#jkU_meH{< z$jWlv*VEAOy?1YY!nxpQhSm2Sot(yhHXdHTWq(D6*2`C}fB9CeT1B;Y-#%I1>;ntd~NwMD!<(Lfih@+CMQ*p74D0YK@zlsC|e1u36$L z3%%ftpP%BCv3YQ%p--OZW?D^8O;9b>r~iAT-~V47>CId@6HBw-4Xv#&&Hnjj_N_>OOpBBhn~5K?#@jN= z-}l=t&z7$6x-UAS^s79UCz)pcd`lbAZxI>}Q=k%cp7MPxa%&>XV`&pLHMQ}!=k?05 zBWKyddIkr5^793Xii)OwHr_=8Rxg}dh?a57-FQ1qJ&VtA?CSoL*8_8Mcu$yoI4C5f z+5Rq--y!eMbq?2s-!Cu3ia)-6n=0n<<5j2Ze{R40{9-@)u^gjL<@m&e!C?JkuY32J z(lt*gD=TN`<@MEs9r+M_@>2V|w4Kc-qp7apCi<#^`rd7msAy_ZZhw~&)_n4{M)uWJ zmtw_@>tlqZq@{BVtG6yMje3NIguEs9WV|iwqT+W;W^V4yX!dFuSG@1v-%5Y-`j2Sq zl0(2P?|im#xj0hdyL>4+uWzn8j_V)Fv+1h}iHxj9X;Ao6Yia4}10o~$;O?HGS5Wa= zdshqeuIx7#SHWI}AibL_Vin zK4QEjO&OEg=gyrw2BoK{?yld$EFywy|0^SVI86)Rx?P27x`wB>x3>-LG^gR-)&p{N z5l4Uh@V}j#d`WQC*wFJ>xwFz|&YW2l#-^a$&aA*-lgn4Z{KV>%15F4D5!ZAKRJ~jG1w!o@$ z0#D)-z7`-+BgeqoJ{_|dJM=BuJ*V4KEGj(3~_V-ufW|FLa*b3PVe0W<~>1|!Q6oF?IpP5;YneI3< zvJd;V;`{g5wl8zHe`*Dw+D|rZ8w{Bg#Ze3%%^rre)iA$yKOLE_i z{X5w7_4Uu#+w-H8DHW@V9WV2qJXu{;B}1cl1r4&kzP_!!U3I99^>4Mr^4mhY!S^*a z9AA`0jvS!|G#&Z<`|q!;QcgP;-Cl*CMcPc3@dO-dT)Bc~sOc%9^B ze}Mcu85u7w%=|7ypWU>Zo2t8(!lj|9c_^|@Z+@SE`7WyA;bYfjWeu;jWgnUx_}KS8 zRGx+XQC(+N;nhK-n|=& z$2NAoz7?FFo*sE$i9dN*b#YK)<;=NrKF3NILnVE-l5RJ&lIlDXYUs0KN6n$Q_}cn= z37v3P^m(_ujc2A6V}JKX>bb`OXE?gJsL$`UW}a?m^XD`9u$KzcAhq8yU*XMmt|0o8 zCSAo&KL!W)EPQQl4o6#&<)Q^9`0?XMHnzJ#r?iyRSbwBm$&9G8vopDf9&Ggf=dtdb zyB$?q4EI!4R<3h!n2z+PeJt$Yk7;_`rniFTz^FoENxRom=j5!L;{c;O_w4b(f8p(` zZ~XaMD2Km}FX@ny-F56Wrg3IOUyI;$e7%2Rq0pXVx<(T}YAnB(=+Imcv;DClm`NgH z^Hp?c`;j)`?u$Mo0^9;CYc^{aNb_o({i$^OpCnj^7ee+Od? zO-;|C!z4DO^|jGlxNt$E$ev?)dHF+(5PHX>2Tz{dFD;d*i#(Pk5bLh854gAvjyUe9aqm-QOclI=&i*9>iwi5+Z-QFHW zJ}oTlZdw}G=jWG9zocub78}-{G3-Y%alN*4b}q7Cqvzx4dB*tCH}sxqG)A9Aqck1*+4Ml6TSdZD;@Jpzl=q?L2avmskJSmkdzR9Q}9e zw;m8)TfBjRkDtHd{rlv$!d)#!z&{$?!Ec1`>x6r*p^i^Tcn6?Rspqj&`SQDaT{y>O z%#<@ZC!eQ=Mn}uz0TvdteE!U}drXVII*og}k*&LOxC1?6!(AGopN$Dk4Wp$i^%O4kxj(N*Q!{+8 zI!KIGE-KkI_NHA4CA_Q||8W={m2~rs#K^*M5C72)oG^#bHZ*T8&a2 z%#;UY^z2fsu4$d;rqoCj#(hSyT5Q{YsN{{ca?f-Vc{XvLyLfRcK8I?g^JOs5W8aS- z6|YB2ZPh8*k#A9r-hx5A8JJCN=J>jN-=Lr^B_$<*X0}63tQeRN#askC zIyz1X3-jShMn*mBg*%(HM1?dAd$Do~vbicDiOm&cyo3FIv{)%L}6?u9i{d=H&@_EQ=nw z^yJ6X(C3P(s)>&$zh}EG+~nrwb{u^(`;gc0-gyD{yPukx$e`G~_xSA>FZj=%J-cD^ zW~1Te6kupx*SQFF85uFO6^+k!S{Jl6fzey9l@#v!DLJJ~}gavfd53(>z|HdyNN@xE#y zo8GmUG|~zRTku1cmX;4iZt(z_@Z^gXCg&+ju&415ehq#r0Vj^JW1|Uzue29 z^7ZokuVZAGZe=)i`s~@&V4?3C8$+NH#igZb4d+NdrfW$Oelm+TWCAp@IQDK^MP;RI znq5RhM5xuns3^*UXH-~JV1VI1XI`m@{ESe++xHDMRZd z@Q7NUAV4N)zy9^>^(g2<_a)~-moMRi zU$gqky*H70&A_1DZ>UN^QI|CPrWc%-mw(sMv0qQ`JE!Sql^-rc9r;|ky1MCC^8GJ9 z7PcAhm3Cj6R>#AsMzLzFsr7Z$ zOdf$@VLLJ9RmIhuN~2?9816F&-3bWTG(SI&fjrr68auxD*Y4ScsB(PX850vW>~aIJ z(0+4j#i+lMJdt_8*&jZBbXuIV@t)1P{v}JV0X=~t7HFO%?5r(Bj>wf4*W#LO_$}KWEH1h_&;I#%B-XVY2-;%m=vho?^liDvvBz|a-VWT%)C>g;JHXDyBSqc;3LkAgM}8QLzl2r2X}+V~1q|PhYx} z^)+pkK&AJlJ+JHrw~m%9WGdH7xXs%GRLo((X_mUX1$PbQ57|4= zjLN_ba|#OBfX0~I=R9!*21Z5|w^yyXVQX7nTbuf!&&1SJeaJ-=oBYq8Km2A*UL2R7 zu~)J|x~#=?`jD)Y;4hGNc|CNdS4Bkz`ucCtq=q0FB##aH((+v2HcVrd zB|S(&QQ~gGKvBucE2;kVOn^h6*R(r!+{w#3F+2Kw5d4QC?%{BwyKI&4&5`pf%S#mD z`$hg6vNKo!K_ZI2bMD-BzhT%qn zL9~G5^?NJ)@O8;w50uCgtps>}$Nv4bsKrAY{V;haP@EkFR&|(BQOEUHv$3(YIB@i{ z9Y6kH`d8~`NC+hhe?$O^E!;LIg+xWk0_>wSg#)&8QKZhDJD0NavJzzHhgf}dE<+%R zSFc_jH?3!QcJc9*w2}_e>rgExJeFN~v|pXRapO2f6WS5RGLZ){1VI8f)6>)AD~4Lq z_JAn!yu7po^1!WE!hqrCzBqnP7_#g;byatjw`@>c=f*!1>T)UE*kZed#gIX z3l0kEhmgo1<{S>~+0x2N6J!<*JPD-7xauMPJ8s=2x_%qu2Ykf_8X9H*H>_xp!>@aI zCg83f#${Gcj#EErGcz->80T0k(#qGT+A6g8f##Ck1N{+5)^2Iu!PU*J?&xkbCQNmT z+C>7#wRx(`%BTvp?`!ismk!u{N=S$o4FlVnvLoSPXy_ds1{s+ps-@bhla++Ylh!S-i zyA4(4>h&vs&h3KmNt$H4;c=8V)?jcyTkssqC}moTpChg&YgjslC+0BdJ>Laq=S#rS2a; zq*^m|k|-}#)6{x?{+w&N364s@6E-sK{{3=NQfu)C_QTB^Ayh)@^z-*;#x|!tEOQ)- zh#R8puW%l2<{+8_^fO@BG}>G0sx==zs0c+T%ab)!F*e}zd-jYC6(0v4^6K^LN$4#B z=w28?@!{i83wwY3@WP|UAZ24=@d8ApynlZlrBwzrf2}ETBW9dsTQ(u1;OzAH)}b#M z^aTY40KYv0163%Ib_iW5+cZ>9w^)|f)NDl6;z3l*jrWaDO&QIN^<;f5F?uT~CMHHW zFglhVy@fI@?kDHv%j&MKC#>=jHy}`~UbDu=&W`I=Pa(!8I{mrRr>Tgbz%ibhYOwC9 z+rrGqx7T|lBqYd(SNQFW0`>y_XT!2*XCE(r_pavs`?9jK+h~1P4Gkr=wHeeiwGTlE z7I&M^zWz-Z3V+s=3l!4&RMoT%Teq43Lt{PC($l1UDXE7l(tv@Q$&`$%Lm*Zv!sz0s=#{`w(*Y+|SOJ z$FNjve0-s?9?MYxj8oIoIeB^S>gyppr>UDTw6OV8E18%)tM#RG)Tfq@;Ep>N%;@Oo zI7YysRR=#FH39l~21HrGUxaIBXFO~C{P`UyFUALfD$xA?LSAYEd^IsKA&(#}t#06B zG%T6J=x~OHhDm|>+$tOo_{78>V{nn}cI_HFJRw*-ji_hz-6&xPPM8R6(D2}P#HOcn z-yH4IvC1rc1gV>viHV6oQ%p=$c_Q?pT1K@fBO@cK)WQxm_3Z{pq1aogQi6(3KhX+^ zc7yH1ty2^ZNixTvlID@1Rq8*h)b`Sv3Dcgccxk57b?hxQxhbfqA&(y`0AWJ2AsqqT zIt1jnpg@q|+uMMw8PmTmuWc|kG2s+Tdc!a5FibWvlyYv};=Q;%Vmf__lQe5drR4gk z2LgGV!1NjT5G9GO0>Etq`ud~4U*FOagQKrbHCA#TJJ$ncp2(d$cOG84E+r*(W3)>Q z6dTJ2^`!?*A|vA{{H4=6I*(BogdO2S$7g1qL5_ftmf4}>(NdXj(W(J4so{y(WxuP# z6Y&qZq;6aF(~{Nr`SZMaA$?FpPAuZGwvSU9eA%Fytl>&Ajor5H;0J0^qvUma%;FO36m&-%r_>`0yI0XPM zCLl^IEG*e3ANLo(c{B9ARD$>tdZq51eK%_W(kLgddEY3t>05u&x{C$9XKv1sIM^pn zpn&g#9qC(GXnhD$)6jU|o@c6OyM!I+kC7b0rJgy~ch=mgfXWJ{A!@GCymOF6EY^3W=bc6W9W(y08nMG8_A1UgL63Y>V7Ccjs=(d~!=t?3Rm_p`2%E*g*til1H?eFA;!UxAAla4-42z+^ ztU-#KScIXhAp`IbXbgI+Da5E2=L3`;v|Mhjf6DR@+Kx3q+X72UfZQC&DE0_lnJgNmDEI%b3l(8D3Xsq`$R-O=VDIui@f1oqHK2gWxFxpec{7*X# zrx#yeeo$isdGB#n>GFPgdHFAyI%&!d6wY$cCSrh~vN-crYjie8$=sU`f^RkfylDqL z&442EYd?ryx^`hG{xi`T6-q!OxyO z%hK7%Jv46tT{h>ARewLx3vsFZ*FI6{>FI$s*1oY;t(3F0Q_NU+7JFP0-Z)J@Yc7OsQh=5X z0pKFWPIf_ojGkU;8}It94DYd+iCwY+XKL;sZ1O@M2uQWQgIKIUoG9O&7-~TNGaYWJ zm(zFAWr?}W7@?jhTjMD;M#>TG*az(F>}7A?#wmLbazfs}oSmCn{_$f*o8zuD7hYao zl-e#WUbBuD9K@xa^_P{^?VnFGe_Md7&#`Rh((*#6Vnv%p(FlD#OKe~T)lerHe_~m(}&T~#FhiG;3~FN)NIw0R`PwX5G~kOF9H=3C z;ertm7f~2dKztbO6wXzOblBEHu5-shhyH8nDypkbShgLK^`19Tc_z!XqC zgn<6pZ2(Uf(P`%fqOEH;Z^%dkll1{+qXpOzkhUZ&tWwU_mTZH5^uONEmn1U2oE&UD z6jnoa2bxFBDVum1oz+BlfG|>pEzlNP%KWhP)2Hn~OrYP#VWw47ti^Axyu5z&TX0jZ zpiD5M4!1>uAWG@pE)f*vo|JM{oda5o}?*81sJd@8mE0&E07lknbRyxGqh%{#SuObO5JoN7SU2vXIF` zvuV>`*amaG0msleOkkL21+C&xNY^fQqy@Hzr#wDAeN=$)Spoa-j#Ch-goTA$hIfz& z0Ta{+`J5)xhFFO~+yP<~dh;hB?2;S`$$vZ?+b>`)1y+Li-;3+t9-*B~G365ZzN9yH=WO;E8hqFGxEJO)^4z#fMY!5#-=7_0Ral& zC>1!n3`|3_?f67bvL`W_)pxx>E zf8z|+XwNbHhid@M5_188v)1MZ6jE#)?Ce+ZWn{sUQ#EKE)HwZ$iiCmdQp57qY6HN$ zflHsG!+}kHMg$JCt{Tdta;Bd&TNs)B00othu*Sy56rBr);@@0*BI;BQ^$#S}J!MSW zxbFd+KiJ5cISp7KmURldS>ctUdTpV7LWG2#ACJ+FL30~SXneX=kJu@=xoe#T8822R z%mH>P1bx4xqoV`$;XHUVzjJ zhk=i!1zy1D!XPgTxZjg;B_BzQkcSURFlV%Qax3g%kk1INx(iARiG1PqORMl(kkg3$ z4oj+Qk?Uc*^d#`j8!?PtqUJyiC#*GdDOSv-3h9Es5WDbQ`j}vH9z4zbm|qU!w36-6 zDAs`(rcbTDntujiFCw9~zi~Mk>pstM?mk10$I60Ul=Y<gQ0VR=A85?tl!8NC7pK zS8Jh?%N-R}*TuirHo0w6lfDIDALtbDgC3JByz5h5US6TcO391;Bv6J(9zuyBY-)}< zxs7=2%HDw?AxilQ*Liq&G_zmU{=%$@iVdaW z;FN)C;u{CmhHLHoT4X<-fzc7t`kM)zR$1E!5)>5oEU3{@*7SINiD6{%`JN!duln0&OV)+ zME#>c&I^~K0&d$w)rgOe z=WO|m9S{-|a{)$=pPye-aPRkEMzK(X^WEOtRX3ah!Z9$Y|MV$aJEfR3RcJ>?jvU#s zbEgpeWx|*N1(YM;r(Nc4)TPZ)&b=B9;RKox@d=cZbXCu(t4E^ie0qL~36s$`Fc8yj zFzGj(K+RV-4nfKiFsurEi(m$L!%4Ql)0#{1!#kNxl4y`64MB&>gXn0yElEvrj^P9! z9}#iLzd@;6b`}JIGlU|dQ|vSebC_7l(5ae-nkA)s3L*S}Zh99L&0B1006+@Bld~CV zTT#^}q4++ip#d{d5RiN@GdNbXKN;R5qDxr4(A!9sg^HgzewF1UG=D-|{0Tk|R2g85O4m0V zS6af~6@Mp@?RRE6cOKaNakC~C_$`P z0j=Y(fB+phK~*r*wqngmA4FHM#-Ug46#My7X|eLz4P3xTBaUgVk1|&{e*rMec#jWL zD5A@Rl73%VJ_k_&pqF!KCWWT|sOU?JR-S_E-{jDS@Yq2>yr9RlI)9PT1S}5=4LxgX zoBQHySa>)~r9E`pr)|TK%OYMV>l+x{DJcQqR}4FsKGKvTu@(h&r2n(yVDM*f;D)qD&ydh2)c( z%UeO!e(+a}ro)kSns1y1@R*LR>o4V)^kJ6#06!A*j>F}YoTSkj4q6P56z!Sl^N;U<=~K#qJ66BCGy@FQ306BM^A`R3k!ezG}p z`@9u-j~`F|{6=q=rb$jt4$%Lq8}PNdrEOjTGoC^IU@+q68AKf) zfOL<~jT<7NP!Ec9SeIN{`z>+qWn7$oR1{k+GY$`wm7Pwx8jXQWwr5v- z@BtASMa2iZEOn!}^NPxV7c>eiNhGGKvojj|oH&X$lhj;7>C69@f?$z7m^P62V4U_7v<#*v5%E^7Qy>dNsfBT zsmy1QfOS}$j9oE8c^u1lLeMmpkk|p3KuU+b2W#cc%{ejfEAOZ=Nw{+_i3thqtIR5e z6M>pe%5>hle}5BXcxA1_$TWU?Wpj77%Ow~F70KA5vL1>$@nPFZo;&xvnWg~Q1W~66 zDVp@7!UauV70~g+tKgh^p%8&n$}vFHR$ByMJZNEI9B04Xs;RGM6BUg?GtY0E@vriS z2tt}5c$PYQ-31Cqhif*f7mPCkC~SA<0Q?uB@hrHJVVvr+QKjcl@B#9qQwAaNmN{@#L<>N$T_U8`7CU7ZJsH&gdbEll9Q zhz+R5KUH<&h{|t7^c2&6vLihREu7)N0f>a#1O)|ISXrTUU4W3DqstE&BrR9|ATq@W z6mpzb%aPl$XOBAfwft*QD@|(L(95~RYJLq3*^G6ciQv)k2kgSLN0d}uo-^Pm7*pu|bQ z_4)k0{*$TcK>#k{A{LUg45=FP0?^868Y;m=F=1g6)#*6$AVZIy1Ag?*z(7jrXF5bJ z$B;Ye55sY_+LpPQ^}RQwQ3O?xm?5tAvyKnLYr_EzTyP?QIwHTpm>KHBqF4|oB(q4JNC(s=wU3Cwn`%kPU*uXaMB)~&rz`{9G@Z(9#=iG9d8u35kN zAnXI6|DC&bRRHo&)N-FtMRdUqHwGl`i&-YIIJO4Q*Z9w8oYw#a4T9szl#iw>R&8}VN($iHu@uxY^_AnsAJ6aQ;{ey(vX7*ugn|v>Edtu%(OzDjHLjMy= z2z=le*smvmaMT4QF0Yr~RPb2bt*BO$-v5abz-L8c<2a==+Tg;t&zZ0Ek7PmW-EEK;i{OE0YpM z>wm`zP4EyeFD(WIY>>TM}eN}@14AR{Mo0M!zgk2C8 z%W~V4b+PtJ6h1lRksP!=j8Qsxa!KJ9j*Vs6Fck4TkjP+mJCc-91@}qSIpsSpVd(So z6Nr_hjD5W%vE)@+TB_ps2Z-pXz|G_W`1FL@k-RJ}pr9#D;x6^J0r=9;!Xi=Fh!rf# zWfi9gL+rvGmNuSE5{4s1!yYl6o0~iQSOa$!DeUczO^Df)AXj29eYwJYX};&rpZmCK z5|4ljl0PG_jaHAWF*zp%oSGT)Sw9pO5c9fJz??)>G?7(tj?(5^+6xs)R ze;kIy3(NMqJQIa>QegeP9^dy9aTv%? zAzeRe^8(c$(I>M&`bTJC4RAGV2G7Vy^`I6O3;9=29iMP(PJ zHZhMw+09xrAM;1$TYrB-tORrO`77gb<~*KQLvR>&Zf>Hm5T~$g#dyt|tYI0iAMiK=Q zBkB~|-F+27vS8SY=xNF0+B9u(Ii&<2>_B9TSMuKG5I%`v;gpmV;v^#kMa~J7Obux17)ZZG zhQ{XBtwGc{xAv>-4mqVrN`6mww_=K_KP0T3w6teHDE`%xamYpi=oiKH!umTS$St(C zQ_fTDGcz-=epTd62={>d^ovv>g{6sq_FCghD$~ji5 zZvnQ^up^@m&9EJ;@ZW)$Mg?R<-50{8P)Gyz9D9Zw+T8qn#C&$j^_qUe8Z14@Z6qWZdPhWTqM?D1JpgkfQE0NnAw#4k}t38WyIBG`0uAekr|loX6C zt0`vX)THpY#+I|0#}7zjoo?9K8Ge0bQx-5ff=PtsqQygkmQ57n%1Vf)*Wds^UazXH zr2!?u$tsYt%uhn2xGr2j@nWDU)biQc+Qvgdq7>bSF+va%5WFVLajv_SdeX)fG>hMB zJ8@S-U2jAHLDQxLl4+3N09MLDKG%4gbjpUDcquRc0hQsRCE>lu8D^Qaeos?0x&zb25AZgk&d7St)BmQw2N!ZV09OA^N0=*MGxU> ztEm~HPfGM#kK4kV6$pr5JQZX`X@vb`L}@?Js9y#N5l>#5aL)7gD}eal)}D3E>OG-~xw zY9HNLQVkCb+)M&0=%}0mg|$X}f4bgieGtbH#P{%5;o5H66ksr8W@0iUr}QW~x(+4` zc3v;6BG?PX1!G^Kl@JnyFjJ=O;8dzVo#VKu23Rjl4nqXT9KIYyu8tc)EQB^xW)#Ey z&+Dl10jDNCOGy<*>#6?s?J?YEq=_YxrE&x@?L@`I_Th*g>JC$ID^gsbC}YZR1-ES3 za&PlKWs|oBz&K;jQ{=hWU~1!GeMZ_7LJrOWQ=^UI5_u^153p}Rh(Be!ik0Gvv6yn! zF`T8@Ez-pD-&p`IQFX@1(||~@O0c!oz?0-uP@}6vo5G0e>+i1wD|MLWjAkFahI(tZ^R)T$!uJ&j+Gjxy zp}S1|?o{8wFa3S)-^d`*`2qOI(c&-)1$`}IifwpgL_6te)kOS-XvGURA=*S}uO=Fu zR)HnQXI7k95yH%tL98S3o=biZ;-oko@)VIhl5*X*&o4N*0oo+=B4q732j-(eEAbok zVU{#Uvy}SyTZm`bk9IxAl$4J(HZ|P|*&?HuOcErN;2SiywpJsS1jI;Un9V6WK^JfU zjD(Ef<`57BweBFvUIQc{$NzvrsRRkMxp`B~S=dPyauD%Qa1@J3;s}%=7x;WcpF$r} zq%8(i8VD446s2XhUf9II#HRW9a4?X3C}7^kr|o##(7>&F4W5z?kWy)oMQ{qN36ha z555^iPU6KV^2)lp06rr@@OZAe)}NL ztfrPqeMl|!ybdiF2s+7LB8-II1`p>=u8&G!s3tv9#AMeYP>W`)QS8V|d;yR$5-Wpe zK}08Fap&b3f~mK4cBV;bPN1Qtg)8iG*qE4bY&?k^xV7$QN{sH zbFMWqi!aX^0^{H)S&xN|M{OdT8VntB%p3|Mf{SGVd!LX4*{iFdAw#$$KMI2hmZIwqtlAE8779`a0)*sH5xM|L#e-~<_a~qybq^2Mg4Zn6uD@N2 zh_Me`FC)IFT7_gBDnWfASS1f2iHasZ5xndhFpuELK5N$HXWdj_j9437W%SbkXy{;| zN`CQ#8`=1ggt1mI5&>RD95bOf-Fgsf7VlTQsrnM*of*g$K_ZB1$V<5 zfQf==pbN%N$5W#(GWdM7hYAb>93UW?3EWD6BPpDR=FurSu3x?uYnq*(&kC-M@txx| zX+oql5D(RXkC!~L>1_*Ruo{#}RSA#fn3gnk&~cRu#hf$^zrUC2alE;PB=Sd$-BUP{ z0zKLu@JJ(z&HL!eFTE9vLK3KLo_omYAOHIv=Y^lF@YXA^As}pCHWz;gk-9Jle2w_( zwuKCc)&bAIg{}tOuN#90g_j^h)1bN=7A(o3gA{_e#)!G>-nMNUWxKyLLStunBGbOw zJ>?-Hq>}fXSJND_iDMHJ<=7oK50Z3lRu36JxC#V~;q*M9lL-JP$RO#r5b~j1CPDD{ z@I;IrClnCX(%r#~QAh0A|Ab=E9~#geXd0~AbCY0a8y7A^0fP8)09LdKOimI&LQ|zg$Ef^XP}}}Ly!G!MD`KeH zHM)tR1!kXR{B`6Z!5WnP=Uf$DzyO8&xb2VgKx5dL88;#{72*&M4P})F!KB96zwq$* zDx5Ld&oQH}xy$Y@XNR-o5lU`Ioc9X zE6HI({Z{TN9JbwvIcEyg{cmseIT3djZ&vA*VRE%7pv_l~c;(mq`4Ze=_u z$9%=8Mwwmei&3eLEXNK9v#<;=l~+1DQlh!dtOsU&^d{+2qaF=>m~acTtZq=uWj+<2-Wc)UGtx2 ze|$E{yA?Z~K*b`0y#_(>Ct>R7Jb$tVp_kZ*47e|xzY6h1VCE3V(W8~9DV?FlSP&9` zEDHhsPWY|eID+fq;zIIE=<}T1HlOBULxJUK;={v~3!g4}nY)$O}y++uUb3qpYs(1NRu3V>Ys3I6zn4 z*huT|?|(L+$CO=@mf_Lcg8Psvpkv>IPa)HH3J2rJo<^0Cn2e}G!^f;tlY`vs?69UudOveOc5KE9RDxE@q6oAPWWOkOujxaaGYMRywsXQ8-ZLIdG^#> z8M@89JLW?lJ@Q9IAC{0{BFHb`qK=ryG6Uuz99tPcevF*sK&)ivL+kD>Ifer?uudwF z;2&FFa`|&b0Rg7fnq~;iGk_k9!T&(q1ZjiyGVbl_@EO+NL1#nNt}>XL8$XOiB*8PV z!Ll!33c7g0alqh}%PcwFe*@4S3b`akf~6omR^>R(v%=p?TWnO(YYoN-FvJs4R8o2i z$9JEb6ayWdH7CwQgAy4&x6ZaUOF^QD;)(X6oWAO5lC!%wQGXnPCCFAQ_C<>wS93HJRaG-)E`GqN zVvIn4)U_c*tFf7xd%#zxhX<*B-n~WE!5I?jhtN3LLVx}@WA_E?m={^+7SVIppTg298j-xZr}9moY2Z&){q)xYUPsU zIWiQ_kM*oU;-uny?pjx|0(^KSiE8}W zwJ_YmH zQtYik&R+Uw^MAgHK=@gWhATR~(mT62=mXIR3Cy~^zkvf<;lCDbjn9sbfju)Yi}T;PL4co z*tF>#UhqOqrKqTQ8}JQr(CK&PpB*&cXA2keJUlmiKXS6jV8c9~JQ~`TYz=O*0h*e2 zAY)FB1urfxBE@wVjE5u(9`c**xU}T=b8!!&d+2$0*U|_2N=mdOoC!c=x3dFL-luqK zd&Qjj@p>4bs^^?_36pw`Qd312Yy4jOoW#!j4emLEzUyDiHwG4fqX!JvgkT|d8?ZL&wnPsX=8$f+fM!=)=- zx#Ewu=H=sa80MJB&LhzuWpI3f7bq0YS3Ibq0OKB9*Z0}MY2-<15qy5UEeYF-xN$J8 z?xLNI*=wWHUTxyiEwo*S{q*&(7S@0(h#?LO@bJ7ECr&^dWMy5421cB4kd;>_e!=vi zMTq_$au1LwWClyO`~7qP7%_vG=7j-y7)tKzvrvqAg>U`Y40V$D_4`#T>TKeSq!*3x zi6SEO5UIW&rh2t%S=ZMJ}mzd~<6$7%`4Bq^F zQqT9{MYWPQ?%1_`NUd+cNJb<1gf|<7hli6xMaKmMD)ASM;FivQk&D5;x~)rQPv|%b zAOs^ZyczFNz{aWqiqSVQxd)BaPrAW@*%5TO65F51KgAv^j7Y(e!3SYso#2!*_Q&CK z_bWhw#|J*rLtO3yE1U!6|CFYFjI?qHR;yD2e1rWp!*NKdM&|^#xHuy`1}1VA2%s0^ zx{_Tp!~l{|Ia0(|O-$Bfl!a(^KRE7FX+WkOF1HGTKTuMDa|V)Mk3}?fpdP?V4n(%p zIU~$hP+D3V6$3kbb9;L`-XtImNr_OltwG0qL+Ln7a9RR6>f;C2(;gymFYvp=VPbfv z$644IjI*?vIA_(3u2hXw>t3ymF}~{u_9!3n+J1IJ%6e8V@++-bcshPLB$cR?i(kC9 zhse~>ke`s+|Nr&_kEB?*pq7yCuB7A%TNt^m&AS7DAJ&oS2*c|h2Bik~?yeFyt>;DL z%)!qhRx}JWDQ^h-7$w1YvsoXq8iAFEQxj7Zs7`||K{vXGqkmhV=mb_VTQ=FJw_6I5 z#)S!f2F;QjJHbCw@|nKI8p@x)k?Pg0QAWH4Z471+4z?V??khthslImM4jb*~-#8+F z6*Q1UKv6AJt~z~*@QtA&Q&Zs`060@j4Zh}(ng&*alX9|;4Kp(^NP6&GFlTPV2gB_B zgxD@1)j#K>Dp}3{xl#y;cpHZl`r9^~u{Y)4tsnNxa0zFo51u@^2LPSCL5sXp0=Av& z^5Q;n+<}`%>9B$oGyJRQlh#$32q^Tm2xQ`f@mf-g5S#Y}$bVvC*5u&ku7D!_DrmwK zXN>$YqFW2~aTKG)Y@x{U?*uDObgcym!x5uZR1nOwG1%aRT*U?_s;%L;-wrdgo!?Wh z?QD{{a(}vXWjO$IR_>N^br8J|-dge&3Rx({`n-HJ)orMy1P>w#xta=WmrNGyL?eEl zGhx0)#;`x|3XZgKH&DYnfq`@4e}&!V`O&to8X2h!IbitWT;VFXa-NV%B^&*A<9nr? z?*lMpY}D_wMb6cujSCV#0P2 zsY8Ul1>vl}?YTj+CI|!)KOOmzDrjzT@$swi4jht{)UpOL7PRgPghhQ7fDf;(tU_;7 z)YZL@rFvcKShDB9fh|-L>Ec&%h7j6LHXfCIGCI9f~(V$NHSd2VqZvbPG7$1Z=p{8Q1_5$BszWkZ9@9z_M@Q5NRYG`ag zZ~5~J8y0U7eotnxyyH(jr)*!mul*y^G z!Rg~K8(MpjG(UcZUtnOHnZy}LrvO-T>iVO#$gszqyjiMhw)vb$+Wo|r8YZVS6X zkcbonFi6fI5j2z4AS;#iYgyUBH0f;RiP}+mPbeq&;tddvT<6ACVc4*9arG@PH1IW# z>KW!}T>JWp7ucAZihy)*fiV(@>-(z<7ar#ayb&2vDLN1n842j4uAX(%MOnbcYNwY+ zsBQY=m>8TXQ2Zt3y%@~$Vj~i|*zu5f)&SBG&z!u6=~gatDocEW|5G>+ad^?uPsAN? zf+`NMagc9va*`Z5Jf>H&IA-17-|tFEii=y-?Gb#JQ)ST&@ z#;{x#qMwFfv#u0lef?F)2ZQ#jIE(S|?LgkA0$|qs!1KhgX2CP=EJM}v;3bYr^8)Bh zoJ;<}{{E>BF`*ZmIxA*5-OC;UEhUO79SjNfhji+=26dX?O3w2f9Kg1n7z_J88;){p((gYP=wa zYHWI6LPW&wt&F1Yt!@Bb>=k!C1w=6pvG5>Xe}}VEr;*yq0o%leRHtwFKRP?}xSG@c z{~t>np&~7s!YOOnvL;KMib`WiMKh?#7Di^u647$f$yy=BSc;NJvagAm z);r4jeZJ@Z{{H?we!u%M^O(8a-KX=pKG*eLUa!~tb=^W0)X>e%jb`mK)!0H}i&Q_* zaig+A!{DUee<5y;=HycB7A!XJk7O+)7t7*vfA$=<&N+TYn4A znEPYhpzNhXdq(~;%PXF>#5s=|xSXVZ61x85Eh+Jl)G@9R`8u{i{h*#-m<(}V_j=!k zMIZVmJnF3IK$3#YLD!wf=P$&XP0&f4-2i{Xb0);F;{8=roAxMpBNZ!_(i zky}SLYV}0>GUTzZ<>&tvJim_ne=T_auNBe%{||IdxaKxzPPZbJata(A!fp|BAGN;C%NJZ8yZe2zd+&HZXX?qI1~hbPSJ&8a)kZq0 z4|)b9>y^$zE20U#ZLGuLM`;|+)+Z4$ZI&18VwtvUmqNUE>|3NX)6=_56BNV%1G<%G z3s#5b7u4?r*PyBML#}`bH*H*X=l+Jz>jBX<)U(r|;uxqjblbjX=AGIeT`z*=h_5c7 zoa7^Oy_m{4Wz>Lq_rqyyN|{b_kFk6US^#=siw}|jf0aSXC<0>)dYfsKXhQlGmBlTf za8`?08U4QyqjrF{MP&v}&{MSI_yD=8sS=CIT>7EQz@Ap{pYFzM_%KIOn&{jxU1u<}nnOofR>IN6_?rQ5=+F0$XLm82p|cT}}t z;MILQZOK7(a!CtUj{HebSgH4!BHyb!`pfv53K^@%~90%BD zXuC1kYI?q^g=kp-*_eIQ(uUev=n59`l|6(BTi0lX<-Bz3<2fNg&SyJ#BF zQE8~=$WLj%rdp36tX#y&NoY0di9W1@oadZ?Ypuz}KQPnL@7<^tY=Oe(c!l3tARFA|DCEI7jKCJnOMfg{Q{8ZoQF@WBc1hdt3E zATcsfH!#r3J0#*{6fW)pN4 zIb<&T&7CUA7aGZ-EFsdX#hYJmb6B||tJ?0@XWG2$9U?jJ!(?I&oGThplkY>fs#-^L z*X4(q(rkjwfCyf*Ysh0-uvp9u;H$?B*3;$fd9^G#r68vbxibTVtr`s;FBP;6)@l!ss6+!4B;Y@bKO z69BQ|bNzfn!1aTNTdc^n(Uxu>7G^eh(LZ_8M==)r(-tdv5-X!?ZaP%4o3?DJAo^|Y z9F;j+=1?iA59Iv5GwhV7*P^hE%+o;dVv!(T1tN&raqXRJQjNNBdn(gO&Cvm1`0hsx zYS`oFM@A+lvY}1!+5uOof8gEvyv-h%M16c2%F4?l5d-S(aSt@SnUHyVIK2n+JL5O6 zD?gsW&4jJDd>HCf)OfibDEp~N z-drJ*us|9?fb~CR9iZt8Kxbh>PCIIz|9#opavk9<0JVwW#>*Gn3fKl*(G>BQxY)@| z3e%f0+qYY=bahYk=Tv|$0?=Q?adTI!Zr;3YF0QT-yaVH2Q(G`))55Huk|F0jzHn9U z^l9qM1S6Vr>^u#TzTQ8N+0n`~E58qu7JTL(TfKgkUKvGSODG;V>o=YsKr@1nv7@k3 zJ3H$rc2Pb9ZA&fz-ZZ%St^d6H2ECnn zMO~hCBfbq75zku4xH8iFxn4~+J~e{lxPN^94_I%l#-HTkjT_Asj3WQMKP=uD^x*>G z25m}JsLzPxYp-MZWqxoy7{oeY9uNz`C25S4Z+JB~w$VN}Z@RFPCp=~ZSik;+N@PiH z^p$BjyD~B+&3U`O>bhRDW+Rp^9RyxAxw4iwzB?nsW!L#6(Zvvw{`1dYhJZO+GA~d5 z+5K4a5miWvsT>gd^g6rjs)hfRbbQ>b{g2=+fFnCyJNUwm(5%s(h-mU3KeoWz!U`Ds{-Z}X zJ@@z&OZzOS4`?nT!u=&{PGl?}3xmcakv^a(V?r5^|J15jX5NU`jJ@~x`tLnQdgZs+ zZzE2`iWM)1c)k5tlI{E6bD)FSfO%S!4t~(!(rELHjZxG_lvp*>{MEDSw^*ru5VcK% z@JDV&0qcLRxKk!ri_9Bglyh>--@R+6ycOS2$KF%)BvAkYVg?@Tds?c}u~LcA(pR#(f#6Ps5haR9`N@nz9oeJbe89uFf+fm{z5y&)ojOHGz@4 ze9ZWO3JU0ys)mkl;I#WkIk(u8QOQZp0}|8_`0j?qJ+LY^+Ir}S_N zsb|=J65R=XkFNA}m{7c=j&eX8OiP38#LhO&RV!{8$l*%a9hPC|uruA~cw0J?`ls=XP> z8rfm)3|n5+IiLbrhmfsz-S0@dz?1ECSh*@YJG*e^E92+^0@WEA8KLoLD+CeG$KU6I zyBhcR2)Ts3GzvBeSXo%Fu%T8~jTlFQltBkG^4JW|{_S!}q8tnUa_HC|H_j7QqSR4en3J zV@KDcu^^>HeHqgYdDym@)Mubuv{DN2Y@@2yR;h)ZbG_obyWY523^=5tz?M|itC#Pb zR;PiaP}TEavM*ouwr%%~S+~ou38x&b$e3$zr&ZM1-~0ZvRL5t|h{*s<#@JWYNIxPF zHgo@gO~&K>_hi6gkEFzn-8jlkh6=_ps1mJqj()lKlX6aK6QCLG*$n({` zzvZB^u{pK(6WI_`{-(&V7&-9t`@7HEDdTZgGvif#_OIE;!z%y2vaaiC3^7Sex0!S? zAGUnb>}%goB+WB?y1y=GFyPit|HRhCXAZVe#L)zT227_WeN+O-2^<;&5pnna{Y*1` zoRvnRNN&g z)5A2+`epoOr!#flh>8@-;6x9wpR+5znj!daXfxq1kw(%5$+=BkRuJKpTnlH=L?HyH za4*6x!&YlouWnuVBz6mhp#OzP9hh(pgufLDaPl@$5y9D=D%k*$4OrvHEVoDBAoZ^+ zfBC9Gcd|I7h$8kkUtB5ME_S{N^WgRKNN&Axpr{+Lt!3M`$!;?yiq?zi2Jti${8Dgv zTvXSP`bw6buPesPRLTNcuYBJ3dZa#X#Y?`vw*9MTc=mZyn~{cS$}UoOp!O<$a;=O> zWP7luvYMKfOyw}4a&XMwv8e>%Qo%)n$|8r4a_U{&nSMaTGQ>AwCml8|rOHfO2H2}<^e&LoQ9VfADCT(dS1vQI{M`AW zjsmV<#?BuM?scp`P9_N8L}W>7j?Yl7Pfku2r4&4aXl8Yf&P#uw0fYMSS>1O=b_MGH z!afx_0ObAdw`9Q_e4r@7CmWnm9p7W^lT1(=yZ7mOj4;2g#5CdGbN&Rcy?;8t^v{_j zs=|LAvQT{5*fb|7dg&cY^du-%J$ETPHs$V%AvO*o>BU6OACd$jZF9!p*+kxvyq;6% z7wN?2+9Y||maifw+`2V3!(z^U_54U5kN5*jmKv=5R^P?DxKeM@1y6TF4{=Gd`zbu zL4)zN3^u@B-3xq3S(yUP*szU%!Z<{b79yih}5hT#UL${ z+9vEm2h>0J#pi0V`leTm;phqo12j_G)^hC2Pb#~!lN~b4deIn_`9kRmTZOHI=+c%w z8SQr1G7Dfs8VHi=_d^*o=i9~~nD^vtTlAK2yVJf*99TbS#m3DqU(UwGtDQ(NkXN}3 z`JjsQDhY7@6gnZnEP30u3P>FkI~OSt_vP=@VCQ}Td1DT~=p2r|7Gts)+s=FXv^^s| zDNfD}2^-Rv(1sSG^XHIu8?SP3zNTB>4OSi@C$~>D=AHh1(0N3`HsAq7`wm3Fq{?x1 z-aq}M3)?2{cb=pC=WLFPQ&6Hnmi=ln#mn1!rhRwI)UG}%FR>aB{T^TsZJ$5zIt^KX zeRq$hGU5tBE&c*$m%NRv45}-yu3m#AIORaLQ`J}k9RhlZ9FAUIMpQ!i(9X$vYqWN5 z-Y)C#VvMFsm#Y}4t@0391wKBtsW$@*b6);+q>F5znMacKV!B{(VTYEPcdx{*8(`yD zFtaPc_)M_Tu7I@3?~k|@@7U20ZdX!s(87fmXuT;#^y#QYfeQ6rS*YBJ1fUcXuxHN# zMB{2PW}Th69>|@T%z^%Hs|<4K!H?v@OVjg1zdM6}54~=+JS8Cd&02I4cMvOq7Ba_#7E?@vcn~pJZZOihD*wcl(?|j&a1kfk zIjmS47iYlh+XXJsVx&vbxRSY!+gJ76LN{&VXO*z-(zG%zWY~AN)MLT~|5>wQkmXQt zG!Zb4{3Zx^M9-_Esz$NUC|SjY3E=3g_YCmpcm29OL`@+2fW`IHn#@i1W?JwNY2$&$ zMdMEK4mWy{8Q&cAW_)M44`kArMf21C%BlRM8oFZ9*U|}(pZlm9D@2$pIxuT%U4)C& z#=Fa6rj&gnP6mTz%Z{+u-ryaN-GYpD#{b;Hj6)QS(bw|%DTmy zwVuq-6$S6~i<)NGgIEI524V};9)>}xE_4!%x?)Gzgd?8rXw_Q7M~@RE7MnNV6%KU- zmhq{g&dSNTz$;1C+wjGS1T6zVNR7)u6Wn7Ol~!;1#PZW`IuxbESu+J?2po5b4u3qq zKO>_n&tCL?wG?KJYpCTiuN&l8^I=+QPZ-opaWq23Cf{p<(YM@quFFZF#1$4z~F zo*M^@MGwp}mhxq&o%$L#tv`iB?mrKXHRpOCxk_&GvdP~az|I)R>oC+qcs)mR$njWQc*E5I?*M??cj(v8Gb4m45X8|k;@oeqZa(AR>sk3S;+3$hU}+7&F2(Dq zvQQhGdS$p~DPH>F%s^9YHAjI5-qGFXaAP1rKl^^MxMnJO@HR$9UZLU`0A7nXq8dzG zV=PyHfrhi&8ZKSRVAnm=?97oj?_oU0)59YY88way?J*A%oD(xXv9*?qlq%n7gLel+ zYu7`{5_Zd3QgOWJAAK=3P2q1;@jP5b2g;UQi5japZ9U=z6 zIPeey+Bn@Nw!747{D?4b?Mtpt%V)+Rf&l?a7m*T*lMJI6@(U1Lr8{m?vaQhasG-gg zQ8m_!v3j?XuGxW#j979z_FJ&nzqarka1P?cN~{Z83ys{#ok&M z{KCEq_Dm2mN6ao=Cg_qr3z;%3HLfG@62T*%P$HhY>G@@}95=*)1Uhy2s8KQC(;jeY z%#|#}Ia(4w(KV^>EImq_{Fgx?>cHU}BD8h*cxXVqM4rjIArHf!UYAp@LDW)I78@;v zF(OD2$WjkLj4bblBmp_RFsry0Fm%4TGOhrlmp(FBN^(>|EHZaghg{E=x#p@h>H?ik zHcnqQB_@`W_@n@*suo29Y7T$G60Ppukbq2y4)i1fKydX^Wl*3nPqb?Uu@O}7TL&)q z6FRDrAR}&M^2qTQ(!#OzNr&%W4CVC@VmmFmozLTxu?2`)mVDFmbg>O@bZVY$G7wDH;2yWO&y7$bRl)(OGrTiC_2&auMOj!8{mo zT?aOZB1Hy$P|Aq%2V2`q2Mzb4v&SeX7ICd`k?t`QUMKeQUC)}9!fYW4pJ8vFOUEYq zC<2sxAS)2X|CWz6(!(Z$L#hgblQg|!6O7ckOdLmp7QD)SKxL6i&BCTBeXO>dQ_AsIAXt;cZYz(1ia!nZ0alIp#LhAXkKwjVSuXO z+pBh}hCG+5cDH1TzN5SnIV|NBV?HoR zYA-@G8XRgFs{sSNJI=Iw9%LulBO)8Cy-+md>FH{k4O&ylTp;(I%5Ph#YLOhOms~0f zlJ1{f`Y1Q-2Na)6z@yppN-9X+xq9M66FF)OfE8AZMnVVQH}hsv1DTB5GGR;cx@_O` zJrDH>tT_MuThxvn?Z7Z7Zel5Ni%%bTfO5tW2_$4HTP=nl^o3X{w}c_~xi#O4w9Xmc zJZ`#`(^|H#%M>7285(##^>^vKXb6cGtG1mKXpE^Vbcy>;$N+RRDp2gGEbZ)0j`?jL zfHMNx_vf~w?6%Gw(|G*I`RA6rZ3t8^hnx1TIz%rKDUAR@j|PZ&=JNV?I@ItIX?O?X ze+}Tgddm4OY9}S7w9*6a9$mD7iOH37;pakYb>X4_HD$5`=cicgI8qV#k=3SepS3Y7 zX|yv{6EN<9_mi!muDA83o0DWEXO*hlx|7w@@*um-$1Bp-3f%;q4h{y8sX29OX1Jd<^gH}zR$|05-nV>mjd7S|+6$C&hegz#rzrGo+{l7%s0XVcTaaES321Lhw zO5|QGst#JD4v0<2LF7|MKyTttAx><+ypwx?na6$edl21}+$<{a1``H_wEp&2KF_}> zd5=e+UDl^VtFK(P;)7YQ8QeId3%w!INv=u)I&GYIKoL%eg;qI)qZp8Ac7_$-m6jHbL^p-_6eZ{efcoTSJR#DDHc7C{ zX{VYN&Y^H}=EwP@^^A3N;DLaSF9Ad0kh&TwrjddxCz{h{vY^bbH%Aa5Mm9`FH8#F- zqFEF?HZH=E%#Pvhrz38exuYObC_*mLv=NL?T5sH(c|BvvPFP(kHMsyPqKl2<5YzUw zsHR|p-G1pJ2E*F8E+t<9@1O88x)jo@{NuZRR+I4mwpRl$|(4jEtn zB)mbRlh^V;?hd56ETm2|8?2n@b(vxnV+jRfLnZ_pjG8*=PhL0{FG^{6e|x^x<>m#o zvdluBE1p`7OQ2d(%gW8S=SoiC-N_&l*sDHc43A2Dx*IRn6cHc;y;gy^34Vw7iw(Mj1Vi9O-ZaHaTDKtgC1#b=$2^0=LH zT#evI^bO45Sas{R??E3RF+pUycI)O98t|X_e}!zHyK16Lu@ISL%78@HJZ+5HGHlm|6WQAxt1v0tVUIX8d%@&1MgOd%z3)YaGf^G3nt4Lla#y^v^N z>*47sPQ8+o2MjnqwR6wUxf|zV>j7Rb>akaIk-v^2W+>#)QujY!wqx_wnHP+X(q=$a zVtL&XXlUOSd!?#2(*AyH%Q5g|IK?aJLh+upbZ|KTr25OZRt5^mCTJstT|a(&(XodU z2TojbNDv-MjY)?Cnsu_)XjQabT2r^NV`D(>2oD986%Q4PMkigJMtFvEq(^vr2R*)( zd;W|}HGvDCzVl!hlof!ELNOWX7G<^96Q5J`v}sGdDMItZZk@>WJ>@eFNo^AXxZE-Z zYTj>hvcX%&q8dZXgOcz_P-3vtf6UFx`mS4Nbz;Usaxd&LL8AeiIb!pV%2sAuf7xlU zus>FazdNjK2hTm6iSfptmgJLPJ6_LNgGyh@OAYUrP3$~eYm=@v%!qJ67jGl*3!^hp&wy?9{ep?V{o}}dIxpK3y9ZC;kMa25Fe;w zD&Q2v>P&9?y5Atl!1CQoTLV>sA6lX%pFi{v<5^mKlryNtOfklY74a9-!SZcX@@-nD zqLmjXP^r2AszQ^aobP(wOgqdCV;HHR9a1^<{`WJV!ApqdMWmA;ylNkx(NJdgXk*ZPK*X^=b3!5Ppm?gE-=$Wv{CpyMu6U4Gt)&YqRLjC3k4R81ai zJr5>B>MfxD7!p|DVfzns=rQGV8)V8vt39qymGMFHSY>pkZ5z6?6XfjO)FX~RF6Isf?4NY8N4eD~4ZpI>gy~DSET6#kwzxanvrMv6nZvxE1Aa8Bi92N3GC)$`^Bu9b-<8{}+_>O?}sN+{)& zr!sz6KO)Q>nZUruS1z&@QBJVk5K3JODcsrAMU$;HE~>ZnKF-QkTCgF}W&o#2fj}lJ zQWan24+wHd7Iw);s{doEHRyH>!77A-`Md$!D#r!hJv?JHTTSMn++!GW8CG@Ve}`Mb zyk*G6@&R9yAs4L+u!4-gSpH}n?oc#B{#D~y_ThU2x8R8QmseN5SMVQK=P^zP)qaux E1I9UA6951J diff --git a/release/0.10.0/doc_cn/_images/graphviz-e02b084d1b1b525450b262148a6b8c5f2a2c3c68.png.map b/release/0.10.0/doc_cn/_images/graphviz-e02b084d1b1b525450b262148a6b8c5f2a2c3c68.png.map deleted file mode 100644 index d407f9b06e..0000000000 --- a/release/0.10.0/doc_cn/_images/graphviz-e02b084d1b1b525450b262148a6b8c5f2a2c3c68.png.map +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/release/0.10.0/doc_cn/_sources/getstarted/concepts/use_concepts_cn.rst.txt b/release/0.10.0/doc_cn/_sources/getstarted/concepts/use_concepts_cn.rst.txt new file mode 100644 index 0000000000..e63ca11102 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/getstarted/concepts/use_concepts_cn.rst.txt @@ -0,0 +1,150 @@ +############ +基本使用概念 +############ + +PaddlePaddle是源于百度的一个深度学习平台。PaddlePaddle为深度学习研究人员提供了丰富的API,可以轻松地完成神经网络配置,模型训练等任务。 +这里将介绍PaddlePaddle的基本使用概念,并且展示了如何利用PaddlePaddle来解决一个经典的线性回归问题。 +在使用该文档之前,请参考 `安装文档 <../build_and_install/index_cn.html>`_ 完成PaddlePaddle的安装。 + + +配置网络 +============ + +加载PaddlePaddle +---------------------- + +在进行网络配置之前,首先需要加载相应的Python库,并进行初始化操作。 + +.. code-block:: bash + + import paddle.v2 as paddle + import numpy as np + paddle.init(use_gpu=False) + + +搭建神经网络 +----------------------- + +搭建神经网络就像使用积木搭建宝塔一样。在PaddlePaddle中,layer是我们的积木,而神经网络是我们要搭建的宝塔。我们使用不同的layer进行组合,来搭建神经网络。 +宝塔的底端需要坚实的基座来支撑,同样,神经网络也需要一些特定的layer作为输入接口,来完成网络的训练。 + +例如,我们可以定义如下layer来描述神经网络的输入: + +.. code-block:: bash + + x = paddle.layer.data(name='x', type=paddle.data_type.dense_vector(2)) + y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1)) + +其中x表示输入数据是一个维度为2的稠密向量,y表示输入数据是一个维度为1的稠密向量。 + +PaddlePaddle支持不同类型的输入数据,主要包括四种类型,和三种序列模式。 + +四种数据类型: + +* dense_vector:稠密的浮点数向量。 +* sparse_binary_vector:稀疏的01向量,即大部分值为0,但有值的地方必须为1。 +* sparse_float_vector:稀疏的向量,即大部分值为0,但有值的部分可以是任何浮点数。 +* integer:整数标签。 + +三种序列模式: + +* SequenceType.NO_SEQUENCE:不是一条序列 +* SequenceType.SEQUENCE:是一条时间序列 +* SequenceType.SUB_SEQUENCE: 是一条时间序列,且序列的每一个元素还是一个时间序列。 + +不同的数据类型和序列模式返回的格式不同,列表如下: + ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| | NO_SEQUENCE | SEQUENCE | SUB_SEQUENCE | ++======================+=====================+===================================+================================================+ +| dense_vector | [f, f, ...] | [[f, ...], [f, ...], ...] | [[[f, ...], ...], [[f, ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| sparse_binary_vector | [i, i, ...] | [[i, ...], [i, ...], ...] | [[[i, ...], ...], [[i, ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| sparse_float_vector | [(i,f), (i,f), ...] | [[(i,f), ...], [(i,f), ...], ...] | [[[(i,f), ...], ...], [[(i,f), ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| integer_value | i | [i, i, ...] | [[i, ...], [i, ...], ...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ + +其中,f代表一个浮点数,i代表一个整数。 + +注意:对sparse_binary_vector和sparse_float_vector,PaddlePaddle存的是有值位置的索引。例如, + +- 对一个5维非序列的稀疏01向量 ``[0, 1, 1, 0, 0]`` ,类型是sparse_binary_vector,返回的是 ``[1, 2]`` 。 +- 对一个5维非序列的稀疏浮点向量 ``[0, 0.5, 0.7, 0, 0]`` ,类型是sparse_float_vector,返回的是 ``[(1, 0.5), (2, 0.7)]`` 。 + + +在定义输入layer之后,我们可以使用其他layer进行组合。在组合时,需要指定layer的输入来源。 + +例如,我们可以定义如下的layer组合: + +.. code-block:: bash + + y_predict = paddle.layer.fc(input=x, size=1, act=paddle.activation.Linear()) + cost = paddle.layer.mse_cost(input=y_predict, label=y) + +其中,x与y为之前描述的输入层;而y_predict是接收x作为输入,接上一个全连接层;cost接收y_predict与y作为输入,接上均方误差层。 + +最后一层cost中记录了神经网络的所有拓扑结构,通过组合不同的layer,我们即可完成神经网络的搭建。 + + +训练模型 +============ + +在完成神经网络的搭建之后,我们首先需要根据神经网络结构来创建所需要优化的parameters,并创建optimizer。 +之后,我们可以创建trainer来对网络进行训练。 + +.. code-block:: bash + + parameters = paddle.parameters.create(cost) + optimizer = paddle.optimizer.Momentum(momentum=0) + trainer = paddle.trainer.SGD(cost=cost, + parameters=parameters, + update_equation=optimizer) + +其中,trainer接收三个参数,包括神经网络拓扑结构、神经网络参数以及迭代方程。 + +在搭建神经网络的过程中,我们仅仅对神经网络的输入进行了描述。而trainer需要读取训练数据进行训练,PaddlePaddle中通过reader来加载数据。 + +.. code-block:: bash + + # define training dataset reader + def train_reader(): + train_x = np.array([[1, 1], [1, 2], [3, 4], [5, 2]]) + train_y = np.array([-2, -3, -7, -7]) + def reader(): + for i in xrange(train_y.shape[0]): + yield train_x[i], train_y[i] + return reader + +最终我们可以调用trainer的train方法启动训练: + +.. code-block:: bash + + # define feeding map + feeding = {'x': 0, 'y': 1} + + # event_handler to print training info + def event_handler(event): + if isinstance(event, paddle.event.EndIteration): + if event.batch_id % 1 == 0: + print "Pass %d, Batch %d, Cost %f" % ( + event.pass_id, event.batch_id, event.cost) + # training + trainer.train( + reader=paddle.batch(train_reader(), batch_size=1), + feeding=feeding, + event_handler=event_handler, + num_passes=100) + +关于PaddlePaddle的更多使用方法请参考 `进阶指南 <../../howto/index_cn.html>`_。 + +线性回归完整示例 +============== + +下面给出在三维空间中使用线性回归拟合一条直线的例子: + +.. literalinclude:: src/train.py + :linenos: + +有关线性回归的实际应用,可以参考PaddlePaddle book的 `第一章节 `_。 \ No newline at end of file diff --git a/release/0.10.0/doc_cn/_sources/getstarted/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/getstarted/index_cn.rst.txt index cadf092f8f..0cb27f802c 100644 --- a/release/0.10.0/doc_cn/_sources/getstarted/index_cn.rst.txt +++ b/release/0.10.0/doc_cn/_sources/getstarted/index_cn.rst.txt @@ -5,5 +5,6 @@ :maxdepth: 1 build_and_install/index_cn.rst + concepts/use_concepts_cn.rst - `深度学习入门课程 `_ diff --git a/release/0.10.0/doc_cn/_sources/howto/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/index_cn.rst.txt index 5b84eea491..26449a6365 100644 --- a/release/0.10.0/doc_cn/_sources/howto/index_cn.rst.txt +++ b/release/0.10.0/doc_cn/_sources/howto/index_cn.rst.txt @@ -8,7 +8,6 @@ :maxdepth: 1 usage/cmd_parameter/index_cn.rst - usage/concepts/use_concepts_cn.rst usage/cluster/cluster_train_cn.md usage/k8s/k8s_basis_cn.md usage/k8s/k8s_cn.md diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/concepts/use_concepts_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/usage/concepts/use_concepts_cn.rst.txt deleted file mode 100644 index fa334bcbb9..0000000000 --- a/release/0.10.0/doc_cn/_sources/howto/usage/concepts/use_concepts_cn.rst.txt +++ /dev/null @@ -1,139 +0,0 @@ -############ -基本使用概念 -############ - -PaddlePaddle是一个深度学习框架,支持单机模式和多机模式。 - -单机模式用命令 ``paddle train`` 可以启动一个trainer进程,单机训练通常只包括一个trainer进程。如果数据规模比较大,希望加速训练,可以启动分布式作业。一个分布式作业里包括若干trainer进程和若干Parameter Server(或称pserver)进程。用命令 ``paddle pserver`` 可以启动 pserver 进程,pserver进程用于协调多个trainer进程之间的通信。 - -本文首先介绍trainer进程中的一些使用概念,然后介绍pserver进程中概念。 - -.. contents:: - -系统框图 -======== - -下图描述了用户使用框图,PaddlePaddle的trainer进程里内嵌了Python解释器,trainer进程可以利用这个解释器执行Python脚本,Python脚本里定义了模型配置、训练算法、以及数据读取函数。其中,数据读取程序往往定义在一个单独Python脚本文件里,被称为数据提供器(DataProvider),通常是一个Python函数。模型配置、训练算法通常定义在另一单独Python文件中, 称为训练配置文件。下面将分别介绍这两部分。 - -.. graphviz:: - - digraph pp_process { - rankdir=LR; - config_file [label="用户神经网络配置"]; - subgraph cluster_pp { - style=filled; - color=lightgrey; - node [style=filled, color=white, shape=box]; - label = "PaddlePaddle C++"; - py [label="Python解释器"]; - } - data_provider [label="用户数据解析"]; - config_file -> py; - py -> data_provider [dir="back"]; - } - -数据提供器 -========== - -DataProvider是PaddlePaddle系统的数据提供器,将用户的原始数据转换成系统可以识别的数据类型。每当系统需要新的数据训练时, trainer进程会调用DataProvider函数返回数据。当所有数据读取完一轮后,DataProvider返回空数据,通知系统一轮数据读取结束,并且系统每一轮训练开始时会重置DataProvider。需要注意的是,DataProvider是被系统调用,而不是新数据驱动系统,一些随机化噪声添加都应该在DataProvider中完成。 - -在不同的应用里,训练数据的格式往往各不相同。因此,为了用户能够灵活的处理数据,我们提供了Python处理数据的接口,称为 ``PyDataProvider`` 。在 ``PyDataProvider`` 中,系统C++模块接管了shuffle、处理batch、GPU和CPU通信、双缓冲、异步读取等问题,一些情况下(如:``min_pool_size=0``)需要Python接口里处理shuffle,可以参考 :ref:`api_pydataprovider2` 继续深入了解。 - - -训练配置文件 -============ - -训练配置文件主要包括数据源、优化算法、网络结构配置三部分。 其中数据源配置与DataProvider的关系是:DataProvider里定义数据读取函数,训练配置文件的数据源配置中指定DataProvider文件名字、生成数据函数接口,请不要混淆。 - -一个简单的训练配置文件为: - -.. literalinclude:: src/trainer_config.py - :linenos: - -文件开头 ``from paddle.trainer_config_helpers import *`` ,是因为PaddlePaddle配置文件与C++模块通信的最基础协议是protobuf,为了避免用户直接写复杂的protobuf string,我们为用户定以Python接口来配置网络,该Python代码可以生成protobuf包,这就是 :ref:`api_trainer_config` 的作用。因此,在文件的开始,需要import这些函数。 这个包里面包含了模型配置需要的各个模块。 - -下面分别介绍数据源配置、优化算法配置、网络结构配置这三部分该概念。 - -数据源配置 ----------- - -使用 ``PyDataProvider2`` 的函数 ``define_py_data_sources2`` 配置数据源。``define_py_data_sources2`` 里通过train_list和test_list指定是训练文件列表和测试文件列表。 如果传入字符串的话,是指一个数据列表文件。这个数据列表文件中包含的是每一个训练或者测试文件的路径。如果传入一个list的话,则会默认生成一个list文件,再传入给train.list或者test.list。 - -``module`` 和 ``obj`` 指定了DataProvider的文件名和返回数据的函数名。更详细的使用,请参考 :ref:`api_pydataprovider2` 。 - -优化算法配置 ------------- - -通过 :ref:`api_trainer_config_helpers_optimizers_settings` 接口设置神经网络所使用的训练参数和 :ref:`api_trainer_config_helpers_optimizers` ,包括学习率、batch_size、优化算法、正则方法等,具体的使用方法请参考 :ref:`api_trainer_config_helpers_optimizers_settings` 文档。 - -网络结构配置 ------------- - -神经网络配置主要包括网络连接、激活函数、损失函数、评估器。 - -- 网络连接: 主要由Layer组成,每个Layer返回的都是一个 ``LayerOutput`` 对象,Layer里面可以定义参数属性、激活类型等。 - - 为了更灵活的配置,PaddlePaddle提供了基于 Projection 或者 Operator 的配置,这两个需要与 ``mixed_layer`` 配合使用。这里简单介绍Layer、Projection、Operator的概念: - - - Layer: 神经网络的某一层,可以有可学习的参数,一般是封装了许多复杂操作的集合。 - - Projection:需要与 ``mixed_layer`` 配合使用,含可学习参数。 - - Operator: 需要与 ``mixed_layer`` 配合使用,不含可学习参数,输入全是其他Layer的输出。 - - - 这个配置文件网络由 ``data_layer`` 、 ``simple_img_conv_pool`` 、 ``fc_layer`` 组成。 - - - :ref:`api_trainer_config_helpers_layers_data_layer` : 通常每个配置文件都会包括 ``data_layer`` ,定义输入数据大小。 - - :ref:`api_trainer_config_helpers_network_simple_img_conv_pool` :是一个组合层,包括了图像的卷积 (convolution)和池化(pooling)。 - - :ref:`api_trainer_config_helpers_layers_fc_layer` :全连接层,激活函数为Softmax,这里也可叫分类层。 - -- 损失函数和评估器:损失函数即为网络的优化目标,评估器可以评价模型结果。 - - PaddlePaddle包括很多损失函数和评估起,详细可以参考 :ref:`api_trainer_config_helpers_layers_cost_layers` 和 :ref:`api_trainer_config_helpers_evaluators` 。这里 ``classification_cost`` 默认使用多类交叉熵损失函数和分类错误率统计评估器。 - -- ``outputs``: 标记网络输出的函数为 ``outputs`` 。 - - 训练阶段,网络的输出为神经网络的优化目标;预测阶段,网络的输出也可通过 ``outputs`` 标记。 - - -这里对 ``mixed_layer`` 稍做详细说明, 该Layer将多个输入(Projection 或 Operator)累加求和,具体计算是通过内部的 Projection 和 Operator 完成,然后加 Bias 和 activation 操作, - -例如,和 ``fc_layer`` 同样功能的 ``mixed_layer`` 是: - -.. code-block:: python - - data = data_layer(name='data', size=200) - with mixed_layer(size=200) as out: - out += full_matrix_projection(input=data) - -PaddlePaddle 可以使用 ``mixed layer`` 配置出非常复杂的网络,甚至可以直接配置一个完整的LSTM。用户可以参考 :ref:`api_trainer_config_helpers_layers_mixed_layer` 的相关文档进行配置。 - - -分布式训练 -========== - -PaddlePaddle多机采用经典的 Parameter Server 架构对多个节点的 trainer 进行同步。多机训练的经典拓扑结构如下\: - -.. graphviz:: src/pserver_topology.dot - -图中每个灰色方块是一台机器,在每个机器中,先使用命令 ``paddle pserver`` 启动一个pserver进程,并指定端口号,可能的参数是\: - -.. code-block:: bash - - paddle pserver --port=5000 --num_gradient_servers=4 --tcp_rdma='tcp' --nics='eth0' - -* ``--port=5000`` : 指定 pserver 进程端口是 5000 。 -* ``--gradient_servers=4`` : 有四个训练进程(PaddlePaddle 将 trainer 也称作 GradientServer ,因为其为负责提供Gradient) 。 -* ``--tcp_rdma='tcp' --nics=`eth0```: 指定以太网类型为TCP网络,指定网络接口名字为eth0。 - -启动之后 pserver 进程之后,需要启动 trainer 训练进程,在各个机器上运行如下命令\: - -.. code-block:: bash - - paddle train --port=5000 --pservers=192.168.100.101,192.168.100.102,192.168.100.103,192.168.100.104 --config=... - -对于简单的多机协同训练使用上述方式即可。另外,pserver/train 通常在高级情况下,还需要设置下面两个参数\: - -* --ports_num\: 一个 pserver 进程共绑定多少个端口用来做稠密更新,默认是1。 -* --ports_num_for_sparse\: 一个pserver进程共绑定多少端口用来做稀疏更新,默认是0。 - -使用手工指定端口数量,是因为Paddle的网络通信中,使用了 int32 作为消息长度,比较容易在大模型下溢出。所以,在 pserver 进程中可以启动多个子线程去接受 trainer 的数据,这样单个子线程的长度就不会溢出了。但是这个值不可以调的过大,因为增加这个值,对性能尤其是内存占用有一定的开销,另外稀疏更新的端口如果太大的话,很容易导致某一个参数服务器没有分配到任何参数。 diff --git a/release/0.10.0/doc_cn/about/index_cn.html b/release/0.10.0/doc_cn/about/index_cn.html index 68443a239f..f9e521649d 100644 --- a/release/0.10.0/doc_cn/about/index_cn.html +++ b/release/0.10.0/doc_cn/about/index_cn.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/index_cn.html b/release/0.10.0/doc_cn/api/index_cn.html index 5f65e11709..dc0562128d 100644 --- a/release/0.10.0/doc_cn/api/index_cn.html +++ b/release/0.10.0/doc_cn/api/index_cn.html @@ -115,6 +115,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/data_provider/dataprovider_cn.html b/release/0.10.0/doc_cn/api/v1/data_provider/dataprovider_cn.html index bdba7a46d0..2dfe40a32b 100644 --- a/release/0.10.0/doc_cn/api/v1/data_provider/dataprovider_cn.html +++ b/release/0.10.0/doc_cn/api/v1/data_provider/dataprovider_cn.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/data_provider/pydataprovider2_cn.html b/release/0.10.0/doc_cn/api/v1/data_provider/pydataprovider2_cn.html index e797913bdf..21a73421c9 100644 --- a/release/0.10.0/doc_cn/api/v1/data_provider/pydataprovider2_cn.html +++ b/release/0.10.0/doc_cn/api/v1/data_provider/pydataprovider2_cn.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/index_cn.html b/release/0.10.0/doc_cn/api/v1/index_cn.html index f0753c7b86..e57edf9bb2 100644 --- a/release/0.10.0/doc_cn/api/v1/index_cn.html +++ b/release/0.10.0/doc_cn/api/v1/index_cn.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/predict/swig_py_paddle_cn.html b/release/0.10.0/doc_cn/api/v1/predict/swig_py_paddle_cn.html index 6f8eb18264..caf7f28eae 100644 --- a/release/0.10.0/doc_cn/api/v1/predict/swig_py_paddle_cn.html +++ b/release/0.10.0/doc_cn/api/v1/predict/swig_py_paddle_cn.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/activations.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/activations.html index 82d6241721..71533d4220 100644 --- a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/activations.html +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/activations.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/attrs.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/attrs.html index 33756eb381..82beaa1eda 100644 --- a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/attrs.html +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/attrs.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/data_sources.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/data_sources.html index 8ef79e2a18..c4bdaaac86 100644 --- a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/data_sources.html +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/data_sources.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/evaluators.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/evaluators.html index 3be98a90dc..5a3db31df4 100644 --- a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/evaluators.html +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/evaluators.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/layers.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/layers.html index 861a443059..22c5c27ec5 100644 --- a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/layers.html +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/layers.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/networks.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/networks.html index db9ee2f1e4..0794b15179 100644 --- a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/networks.html +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/networks.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/optimizers.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/optimizers.html index b2780e0bd3..5a60d30cb7 100644 --- a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/optimizers.html +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/optimizers.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/poolings.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/poolings.html index bb4fa3a0f3..5bc1826098 100644 --- a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/poolings.html +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/poolings.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v2/config/activation.html b/release/0.10.0/doc_cn/api/v2/config/activation.html index 934ea84026..db175b22d3 100644 --- a/release/0.10.0/doc_cn/api/v2/config/activation.html +++ b/release/0.10.0/doc_cn/api/v2/config/activation.html @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v2/config/attr.html b/release/0.10.0/doc_cn/api/v2/config/attr.html index cd538a909f..552b0a506c 100644 --- a/release/0.10.0/doc_cn/api/v2/config/attr.html +++ b/release/0.10.0/doc_cn/api/v2/config/attr.html @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v2/config/layer.html b/release/0.10.0/doc_cn/api/v2/config/layer.html index 6fc7a83b35..4b7ade4e2e 100644 --- a/release/0.10.0/doc_cn/api/v2/config/layer.html +++ b/release/0.10.0/doc_cn/api/v2/config/layer.html @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v2/config/networks.html b/release/0.10.0/doc_cn/api/v2/config/networks.html index da2f72d51a..e43f0333d7 100644 --- a/release/0.10.0/doc_cn/api/v2/config/networks.html +++ b/release/0.10.0/doc_cn/api/v2/config/networks.html @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v2/config/optimizer.html b/release/0.10.0/doc_cn/api/v2/config/optimizer.html index 9d26df3c59..3b1cf8da43 100644 --- a/release/0.10.0/doc_cn/api/v2/config/optimizer.html +++ b/release/0.10.0/doc_cn/api/v2/config/optimizer.html @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v2/config/pooling.html b/release/0.10.0/doc_cn/api/v2/config/pooling.html index 62d8d23575..92a04d013e 100644 --- a/release/0.10.0/doc_cn/api/v2/config/pooling.html +++ b/release/0.10.0/doc_cn/api/v2/config/pooling.html @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v2/data.html b/release/0.10.0/doc_cn/api/v2/data.html index 38c5927dc2..a75ee12d38 100644 --- a/release/0.10.0/doc_cn/api/v2/data.html +++ b/release/0.10.0/doc_cn/api/v2/data.html @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v2/model_configs.html b/release/0.10.0/doc_cn/api/v2/model_configs.html index 9107f80654..059677d91f 100644 --- a/release/0.10.0/doc_cn/api/v2/model_configs.html +++ b/release/0.10.0/doc_cn/api/v2/model_configs.html @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/api/v2/run_logic.html b/release/0.10.0/doc_cn/api/v2/run_logic.html index 58a3ed6299..41d93ba736 100644 --- a/release/0.10.0/doc_cn/api/v2/run_logic.html +++ b/release/0.10.0/doc_cn/api/v2/run_logic.html @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/design/api.html b/release/0.10.0/doc_cn/design/api.html index 4389aa2547..04a4275820 100644 --- a/release/0.10.0/doc_cn/design/api.html +++ b/release/0.10.0/doc_cn/design/api.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/design/dist/README.html b/release/0.10.0/doc_cn/design/dist/README.html index 1b41209318..bc95880400 100644 --- a/release/0.10.0/doc_cn/design/dist/README.html +++ b/release/0.10.0/doc_cn/design/dist/README.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/design/multi_language_interface/why_plain_c.html b/release/0.10.0/doc_cn/design/multi_language_interface/why_plain_c.html index 7791d3ae3b..0f4844a2c4 100644 --- a/release/0.10.0/doc_cn/design/multi_language_interface/why_plain_c.html +++ b/release/0.10.0/doc_cn/design/multi_language_interface/why_plain_c.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/design/reader/README.html b/release/0.10.0/doc_cn/design/reader/README.html index 6ab3ec5910..7df8af41f1 100644 --- a/release/0.10.0/doc_cn/design/reader/README.html +++ b/release/0.10.0/doc_cn/design/reader/README.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/faq/index_cn.html b/release/0.10.0/doc_cn/faq/index_cn.html index 5284328906..4b4cfbed8c 100644 --- a/release/0.10.0/doc_cn/faq/index_cn.html +++ b/release/0.10.0/doc_cn/faq/index_cn.html @@ -114,6 +114,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/genindex.html b/release/0.10.0/doc_cn/genindex.html index c1299f2b9c..18436bd732 100644 --- a/release/0.10.0/doc_cn/genindex.html +++ b/release/0.10.0/doc_cn/genindex.html @@ -114,6 +114,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/getstarted/basic_usage/index_cn.html b/release/0.10.0/doc_cn/getstarted/basic_usage/index_cn.html index e7c58b94a7..45ba93632f 100644 --- a/release/0.10.0/doc_cn/getstarted/basic_usage/index_cn.html +++ b/release/0.10.0/doc_cn/getstarted/basic_usage/index_cn.html @@ -113,6 +113,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/getstarted/build_and_install/cmake/build_from_source_cn.html b/release/0.10.0/doc_cn/getstarted/build_and_install/cmake/build_from_source_cn.html index 0cba4401dc..3603966b1a 100644 --- a/release/0.10.0/doc_cn/getstarted/build_and_install/cmake/build_from_source_cn.html +++ b/release/0.10.0/doc_cn/getstarted/build_and_install/cmake/build_from_source_cn.html @@ -34,7 +34,7 @@ - + @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • @@ -315,7 +315,7 @@ diff --git a/release/0.10.0/doc_cn/howto/usage/cmd_parameter/arguments_cn.html b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/arguments_cn.html index 0742dbaa3e..158a6dcfd8 100644 --- a/release/0.10.0/doc_cn/howto/usage/cmd_parameter/arguments_cn.html +++ b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/arguments_cn.html @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • diff --git a/release/0.10.0/doc_cn/howto/usage/cmd_parameter/detail_introduction_cn.html b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/detail_introduction_cn.html index 6add093d6e..4cc71ff0dd 100644 --- a/release/0.10.0/doc_cn/howto/usage/cmd_parameter/detail_introduction_cn.html +++ b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/detail_introduction_cn.html @@ -34,7 +34,7 @@ - + @@ -116,6 +116,7 @@
  • PaddlePaddle的编译选项
  • +
  • 基本使用概念
  • 进阶指南
  • -
  • 基本使用概念
  • 运行分布式训练
  • Kubernetes 简介
  • Kubernetes单机训练
  • @@ -635,7 +635,7 @@