From 90a1b7ff6bf5f6b67684600880272674097cf297 Mon Sep 17 00:00:00 2001 From: Sachin Prasad Date: Mon, 13 May 2024 11:26:39 -0700 Subject: [PATCH] Migrate Review classification using Active learning to Keras 3. (#1857) * Migarte to Keras 3 * Migrate to Keras 3 * trim extra epoch outputs --- .../active_learning_review_classification.py | 34 +- ...learning_review_classification_15_1755.png | Bin 0 -> 29261 bytes ...learning_review_classification_15_1756.png | Bin 0 -> 26518 bytes ...learning_review_classification_15_2073.png | Bin 0 -> 30250 bytes ...learning_review_classification_15_2074.png | Bin 0 -> 27048 bytes ...learning_review_classification_17_2582.png | Bin 0 -> 32667 bytes ...learning_review_classification_17_2583.png | Bin 0 -> 33596 bytes ...learning_review_classification_17_2767.png | Bin 0 -> 33324 bytes ...learning_review_classification_17_2768.png | Bin 0 -> 34443 bytes ...ctive_learning_review_classification.ipynb | 59 +- .../active_learning_review_classification.md | 1270 ++++++++++++++--- 11 files changed, 1080 insertions(+), 283 deletions(-) create mode 100644 examples/nlp/img/active_learning_review_classification/active_learning_review_classification_15_1755.png create mode 100644 examples/nlp/img/active_learning_review_classification/active_learning_review_classification_15_1756.png create mode 100644 examples/nlp/img/active_learning_review_classification/active_learning_review_classification_15_2073.png create mode 100644 examples/nlp/img/active_learning_review_classification/active_learning_review_classification_15_2074.png create mode 100644 examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2582.png create mode 100644 examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2583.png create mode 100644 examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2767.png create mode 100644 examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2768.png diff --git a/examples/nlp/active_learning_review_classification.py b/examples/nlp/active_learning_review_classification.py index 6c86f67276..d6ec81780e 100644 --- a/examples/nlp/active_learning_review_classification.py +++ b/examples/nlp/active_learning_review_classification.py @@ -2,9 +2,10 @@ Title: Review Classification using Active Learning Author: [Darshan Deshpande](https://twitter.com/getdarshan) Date created: 2021/10/29 -Last modified: 2021/10/29 +Last modified: 2024/05/08 Description: Demonstrating the advantages of active learning through review classification. Accelerator: GPU +Converted to Keras 3 by: [Sachin Prasad](https://github.com/sachinprasadhs) """ """ @@ -51,10 +52,14 @@ ## Importing required libraries """ +import os + +os.environ["KERAS_BACKEND"] = "tensorflow" # @param ["tensorflow", "jax", "torch"] +import keras +from keras import ops +from keras import layers import tensorflow_datasets as tfds import tensorflow as tf -from tensorflow import keras -from tensorflow.keras import layers import matplotlib.pyplot as plt import re import string @@ -169,16 +174,8 @@ """ -def custom_standardization(input_data): - lowercase = tf.strings.lower(input_data) - stripped_html = tf.strings.regex_replace(lowercase, "
", " ") - return tf.strings.regex_replace( - stripped_html, f"[{re.escape(string.punctuation)}]", "" - ) - - vectorizer = layers.TextVectorization( - 3000, standardize=custom_standardization, output_sequence_length=150 + 3000, standardize="lower_and_strip_punctuation", output_sequence_length=150 ) # Adapting the dataset vectorizer.adapt( @@ -289,7 +286,7 @@ def train_full_model(full_train_dataset, val_dataset, test_dataset): callbacks=[ keras.callbacks.EarlyStopping(patience=4, verbose=1), keras.callbacks.ModelCheckpoint( - "FullModelCheckpoint.h5", verbose=1, save_best_only=True + "FullModelCheckpoint.keras", verbose=1, save_best_only=True ), ], ) @@ -303,7 +300,7 @@ def train_full_model(full_train_dataset, val_dataset, test_dataset): ) # Loading the best checkpoint - model = keras.models.load_model("FullModelCheckpoint.h5") + model = keras.models.load_model("FullModelCheckpoint.keras") print("-" * 100) print( @@ -370,6 +367,7 @@ def train_active_learning_models( num_iterations=3, sampling_size=5000, ): + # Creating lists for storing metrics losses, val_losses, accuracies, val_accuracies = [], [], [], [] @@ -389,7 +387,7 @@ def train_active_learning_models( # Defining checkpoints. # The checkpoint callback is reused throughout the training since it only saves the best overall model. checkpoint = keras.callbacks.ModelCheckpoint( - "AL_Model.h5", save_best_only=True, verbose=1 + "AL_Model.keras", save_best_only=True, verbose=1 ) # Here, patience is set to 4. This can be set higher if desired. early_stopping = keras.callbacks.EarlyStopping(patience=4, verbose=1) @@ -413,9 +411,9 @@ def train_active_learning_models( predictions = model.predict(test_dataset) # Generating labels from the output probabilities - rounded = tf.where(tf.greater(predictions, 0.5), 1, 0) + rounded = ops.where(ops.greater(predictions, 0.5), 1, 0) - # Evaluating the number of zeros and ones incorrectly classified + # Evaluating the number of zeros and ones incorrrectly classified _, _, false_negatives, false_positives = model.evaluate(test_dataset, verbose=0) print("-" * 100) @@ -482,7 +480,7 @@ def train_active_learning_models( ) # Loading the best model from this training loop - model = keras.models.load_model("AL_Model.h5") + model = keras.models.load_model("AL_Model.keras") # Plotting the overall history and evaluating the final model plot_history(losses, val_losses, accuracies, val_accuracies) diff --git a/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_15_1755.png b/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_15_1755.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2f9de05d73d5212892695358d5735d189d6227 GIT binary patch literal 29261 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 Y9YE+83-kI4^V9U16$L!IcNR$ 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 K`IKYE*ZvRv|7>Fb literal 0 HcmV?d00001 diff --git a/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_15_2074.png b/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_15_2074.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf9787d1825b2420265b2d1793c0b6d08930c76 GIT binary patch literal 27048 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 Yp>^cUmtTkR)g%@z%{@C(wjVt6UpoH_B>(^b literal 0 HcmV?d00001 diff --git a/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2582.png b/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2582.png new file mode 100644 index 0000000000000000000000000000000000000000..3f57d99b985f3fe2f3409b8856426094709ee5f8 GIT binary patch literal 32667 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 Rq@ci`*Mbr+bNMwt{4ZzH&_4hG literal 0 HcmV?d00001 diff --git a/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2583.png b/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2583.png new file mode 100644 index 0000000000000000000000000000000000000000..39bd8523b071198402814ecfcc11328f199d5a78 GIT binary patch literal 33596 zcmZ^LbyStnw=JO}As`?~i?o19cej*CcX!93I|T#;1f)y4I}b>wbfnrTCp#-!Co6MPveLgZb8@nC9zfaHqIXN=Yl@w-| z62+~E&1a~wWDufl9JOFjwq__%smUQ!&Y4t!D0pjc3roAzDF0N!sX5{yd+p!*`O<6C z?a4KU49mzMCXwQ5t8ue`kYzZf!SwrJs^g(!q__gkbFx58;co=p?Gx}XVK0CAQwRxz zSNYKt$XMWoXat4S4@~gFfxTndZgKi`pxc?bK(grrI?`X8blCvF2n!vgIl zc7llRi51wzve0nE$oTk(ZEbDo=?@o%$)&!~g3p{>T(Cjj!WN+k3CCmn+UotllSU2R zvzRV@m2aCB8yg#%{TjBm`tO{amA$>9Cz4idDgVz3tj{*r*Z+Gz3SB>Ieu|-F2mQad z^cC9)uUdoQ=H@0BT||kTot@n{X^J)wbM;UPO9?$J3lk4d;`8UQ0+H8~--Cjl!^6YR z%*_1a#sN2eNrC(!B`c z?*M_YK{&IL>|I=_+1ca${Sk^wN@R&6F@=>Zzk2FrWD&dr*T9x|UznYx|EWa9a#a$T zvLI zj{Wm#rR_355i#)*KMm}AVOcaO%`w3VReTU)*(Rzaa2a_89B}(8DlU&|^-WEx!lJpc z2?^AwxF}?SuT!N5_5MbyJ@R5nD;ZGPVwes6`Up=IAr;*5T~Gn1@)YI6Ll({FL_;Dr z3mnZln~kbrev$0aj8U`e$Gf9ZGuHcyY29k;d0b6R&05=KIVB~WfETaY$H!weYAi-u zygb;g=ah<}$srxA1h1C8?-)da(c0SD{KO*&Dop++F?Z!oTHv#opuucDKR^Ck3Y-6K zzY1%ML8ti_E`x@irDb?R0vtkN z?c$P~v#qtGBi;Q6d|ua2N3Bo%OG`_v=3~!%)4gv)oe$;|nw+h7CyRQp<#~mKg@r3> z-G&Rh&=XxWMM4ERN7h>m}b9FIQVloKYXJ_#V2?>dai1Jm-NZ|71 z(_iRq4kn%-E^7MNfEAFDkw=%kkDyoA2X)J8RVK0(O9{yl1Z-izqC~#4Ri@Bc2f#oe0^P0_T`uYn5fEl-Eb&?&Z;SYmlh`bA%bHJ7VyR@u(x-u!!T~q!T!MOV zL3VK>2svK7`}FB}$hKb=gw@UEylwca0KSLw@!LH=KR?gMo2_cw<+ShL(JUqlyZoP{ z+BrL$+?;OQzDWx=fO`v^SvsD6lv>E=@rIgTwFA1=_U+y1RXA|UzrRaURU&6q}#WF}SY>9R-S3~E_Lrxw5qNChqk-Jo@K^WM0 zc6PS2vvZ*~_1{0e2Z)4(L`q7^XEfr)ey|U+Tg&&bpigm)fk`)5hXcOVa?@p;7G z&UA!eD1zK-&?n(m4fZWcJmQCl^oz;xg+wIL3h?o5CvG?c0|T?AX08wn(p<~w(z=CJ zgNb~F=8GxK{UvC!#}PCEL{(Z3iHA&Be-Ng!j$BK;k34nxrX+o`JoOLFjPd2^v7S&N zGJdp|C+!2XOMwbYX%s@@AXoJB(i=zGJPM~V8>2kkpJ9;t+%o}>0TF-JOCI$j!R78` zJ{cQ6LOffZz{V8VQYMi(NS^;DFp`+(D+pWu+imj8{aHj`=)=Ji;^K}sDrz{^g`(Je z`oi|+6&VXlY$&4O_>6y5NvNIf6`N++sglnko~vg){u**4cI#e*!zuvBSkA|OEKx;sdKHN z-Zu_Jk!JIi1Er1H$LLvowr^k`9+&$opl(o5QZ7~|p+vh%8u*3uhU#tLzyqO zf2wASN6fVP2oQ4EtPdu#G(TL<@6Xqj&2X`p4E~Fi=U+J+7TDUKts>%e{Q(jXg74vC z(|Cy{2Z{H!K8OX%(x{)me)TRiIEIFW8MOI7hgAoc??s?if{J?F zg{NzGxWF}4tlj~Elm6MYjOkxWk z&6Zd`mwy%|B^HIL`*awL*bCPypx-<37@Y2BL^pUB?lS%cteW?R7rX-e9 zHt?Y5($dmN9JZyTbF_b(-OlnA^UzbdAqM~c_yq<9jpoWGqlE7@Y^AMbhL9L+k7Nc0 z2gjtOXceoz)LZY39!wWVFKf9C14ZbQ-XFN3G`^zNr>DoGC$r@iz9@l5&cDeVTQ$=< z<5%u%mQ&whAAOFBi;0ER4$?>>vvEK1nuCkW*4E~Q}bU;BbD*3WR2mX?Cd znFumSqsx)pe697(X0mPA1&X?w+9!(%8c?gr#lP1l*L{AePoa@2EULxbdf3`)8}bpq zdR$0R0}6%>R6#gi)RixQh*_jfWTrjtlZ>b@=MmureRLDJKeT%Jrp*$H1c z9cbg$5)}LTn{-HyXUnJ1EDj9YY5w*!bfUG;6J35tT8H>3Vo+UJiGC{!mojXMo%ixd z5V!CT%oi*uC?Mi-{tk*r!(g}s3fZBYfqNJA1W*%6d!a?UBz{YFay zrrXQ?sFnjsJc3^}PRFYXkQi0`*7KSH;CyokQn~5QSWeE;)q1RarP*lK=g9n1Gy>Ld zP>-wA`?Fy@&2Xug`a~M3?S81!oNpavWj#OUI&e`ob-GQ(6C}BDz1CVz{Bip+@Vaqi z1d7XbqtWPd&WIONrB-qDUVdrM)L&I!qwcde)rEzqoflqgx5}syXE6>lk%<nXnY)S8B%kdUd|30c^hm~17tepMX=Jd7 zy;dcstmLv|=uAe}5#egC*2?38f8Y9h)r;hY@DDQHkM(3XJCia8HwA@#QD`B^Rck9N zWTBCmE_O7V1Of*wf{u*TX*(9zVOwlMHh%G~@||aUkKtBPGFjX5uBINA+-y#iozp@8 zZilK*?b*$wgL`;b|0O>S+3#quOFN6Rv`Bn;4n-IrnBJYiitY{b!khKvZc#gBDKItE zm~>&c_KlN)f%Q+X#S~`V#0@4qiC40G!1tZh%JndGA#j^ww|ClHbJ8N9yVPE<6G@Qj zYit=Y-+HGSTx%KfUB8S_ za@^s%xp!Mfp}Xv|TmM@4=*maULt?F(E-`;Q_GhxqZ1_s=8^+VTd*rzN4*dc_*Mzrh z#8hp8(Z-wd!|gY)b-lLAcA}alD_1hvFWic?z5IDCoGTe%O^Xs%iJbmo1)b-GEk)ki z7<>($ftrVI+5xVlu=__0ubNl^bluH3{)oTs!#QCYG$?mNx`tgX;l%>ZLHnK%l%}|# z;HAHOZpBc>MS=!Hb$H8hH4QUYwqj&M@0sBk;?eKB>+*bCg{ld8G$k^n$5r4@MFK-A>4V zvTJXRHCrPQGvOh#*j{l*kKvmo@PB3TopYpydW|>yr0*M#-fzV)U-Sg zw1})e@a%uira_^*(p`l@sHKJ#I98p?D~tro@kHkD#&U&HKQD#}Wse@ax90LTn&AOg zGP0T$L|7m?x);PA-NmU*RR~YvNDa%&DDR&gn)82TfVu+Hf*USccgBqqi+QJD^7#1J zd_E=(`^iNYds!8q7CS88#CW{uGfIK?acoOxKHjwH#i^(nB9XQ2Ls6ZCp-a+K(chhV zC+|6kAD%mVVR1R#WR9h}jHcK3ry(l%k->q`XyS*rn5(iS^UVTpN}xX4hqk+Io8!oy zr!LQQ`4#LnU&JM3(O7Yk^b|w#!b(DMzAh*B%-u16>LjE_H0hZ%q9Vo7D%XPtdz+b^ zeN8~n57ND@n~k?OKa1(mZ-A#^zsADKTBfLKwgwGW1%>JQY2Wf|r&~Q1M-I^+DTxvf z+?Rs{3o%bRO;Ht#2)4;^eshE;o>#$eo~>uRTsL#`X}Xi!PAITUFq1cbePo4I3!-hb zmDWdYf3O_=l}r-c8#my11h0zu+=D=xKDzh)jFbAaub1-fZQcI61jWk9w638?E7t-# zADR93<1YeIzG!-5^7CPD=zj6KF^A(ayk}+o2^uDBTwHNcQPG0Eei+Q7*KYi2+j0{O zN@Jz{ns_i8e)~`=4=9ly{gb)*_@FKkM7%&njoo_4BH+eOA6h*aE#`MhY(^l4d$mZ6 zzfArONz;Q+E0Fu$On4N#xE&W|a@-x`sglGK%D2YTRQdk(izlA`wCy6e>Z>wD~57-2NgaChb z*I4ed%B9Nn062t-U760ND!7*r?5zCDSa6vyzOG|rOi%!b_T|66x(%?Lw9&s345&+y1SyI9P;5@)$QNYL6HaCN-s#q4AT((-_CdE)kPAIa*S|L#TV$z0NO7 z0pBQ1wTIk4FtGN=4^bwWUDju?z1?32>Rtgb^Ha-n|@ffrtV^yZ|aHTrX{@_=HYOUUU;3)pT z&GaWuR#a3}{-=9K1Ox<5mqVhpo+ucETPrGSL74cR1Mnv==<+--XHC`A)lb0HvnC6* zpT=`#*OF~pR>tK80FwWx)!+~WP&*-xh>8j>srNM*jMV^$&ehcw25!Y8iTdz#J^iw1 zJWuO|Rlq#`K`{jnzr3DblF5 zHcagMNGAW@Kr|gqNMHaHEu53Zc0Urvb3#Z&df3RHNk3{~!sE44)WJo}Hrq9AI_RJ4 z)k%7jVlJWUoo8^(sRyp6dXDWH6R`%ShUYyzJS2kNd|2SA8FcA9 zE+0V~Jihz_Aiw8uJ3BkDqw&1iNcc{~h2;xQd@M&AFTkJ|P!-?^KU_8*wmv-?Y0s&1RZh81v*(v+UQp;hw$FS#JNAXquL(m?sAg^Eo3UBNi4GaGnS4 zi=@y(GBUo9oTiWEPV(QqB^)FOrAaK02Datk#h<>`)m0c7N%-(DIt2%5X1#s8ubk6z zjZ)3s@_0ma#*s={CMdz6Nw>7U{Jn?gS|xFs3DioJ!`9A~aN2t>=CpF$iw_%aj;A%A z&;ugW#|Vl#!4QBdOdDUE8VtW9vXaqdQBGAVa5)1Uo8kUU1*`QOPK3A!Fg89&EY=~7 z{UC?nYR)&Q1+>oz9mEw_O$9%U5%YU;8umnP01LoU4B(lVtY$vZ)6@6%_Ud(i$1m2b zi=w%tqckbdHnY^#fRHg`$ zMzvWRhQR%wi2_CSMkiWtZ*Ql)se@93H=BDCajY%#B!81SD%RhiOW)MbuoT7$hyYue zz25y6=}kXJ&{aTZZpD)8WhC_@Ihim%KEAW3 z2akt@lvEz-o?|)>y77CEjn~)Lf25>*2k9R;#N<DUi%%4vAZYq}|l@~Ip z>sLoayt1CJrR3$+@{!3Ke@#Ln*Aq!>d#46!k*B984GqmdSg-t+)oet&P8}OyqLUF3 zj0&q+X78H~yd+k0;bit*g10=*`+9(4Lc?bc1T|KnOoz`ax*`*uh|^atZw*F0fFzLv zg0{08_lOo19sT3wkrQAm2!P3b2JRLYCmH>LYi~z^7^s)2fH5>6^+rEF+>K|6p;}p6 zOMPzCIe+`V6wDyQyemk`4R$LCpgrZHmQS0&m<=stEEDV*_AuDK*ilJ)^cLWGA6rp9 zatxqsQICtk#q|&`=Dsp5@|S23s0PNF`qK?YkvNAeCXtcapEueV>sWlo)lX|s07F)3 z?%+aVuG#w8CzNMaouwtD(Wniu#1Sn;SwR}#J>c5_!AQozmxD0_`W6=|F^c*k;3H&H&bPbk-(^%3)!2} zYVk}2%wWd&j_X0qbpL{hEQjZ{9nA9prvkgliylHYi%!6I<8#`*BZvsDTlQ}1l&P#l zK|y&hAdn7Yk^un-BZL9Np|qc3KAt;Ts7%)#MLG;zI|`id)8ic@Af0J!Y;2kzZ}*xn z=PUtAMqznIOb;D}B@q>Pqo^8gyc z^ut+jaFAy{}#ieT_{f+Y4io!=`TRE~xv zYJL7N-1IxU4)cdkqSl&p!H{EPBWj=BX(sL0Wl`aL7`2xs7i|NutkF(ApF|&@{N_OM z;vw>^n8*2fiCkuB_NycQ8Grc6d?Z6r2_IZrf#HpxR`Ca+`Z5V{+0{+t%%LuioN`K8 zjmnZpPmO~_3;wwmDc{FhXb`(PTdr48a{v?!i-?FA16j@Z>TvP)4)8Ulp!j_C@fe6_ z_*`Z37Y9)GU6Yf_Zo36}KL-*R2`5a{0nz@!Hzp}bW3^>}-)aL?#?Q{qwL;cOs3j^z zu5NC$zF2SGC~W`PMOT*?czb-gY|QCZeiII^SXX9pDs;>eTvm$ zLK1w+ICMHLC8Zd+qlP^MqP)Mq{}Yg?9{_G+n38jKtw*2%v^r2pqACk_)5{9Ybe$@h zUE7?yjxK7#miH{DC?^AHsQel!5{BD{j|Y~*%^)ba1aIeB;2Ezh0z+bNsM6NlSt;(F z5CAD?;&9X*N3fUq%M#X3?nUa1+K#CY_eJJ$-!g#?yELx6qp3h$UE>pFG4fgh@%sGJ z(20_SK!9^?tJ`)_i7v4Tx`hzx(QY!Q%5y+d1TbjUeg_?3>BJoueUo82V{TrHA`W7f0!SZ>+Oa#tPJ`Y*u7htLVTlKjQs;suhn;%)_m_wAgIh z^GY7;9ly^btvf4|=4s{LZ?%g!au#JN(XB%9YFR*F*o)F$xg*}@9x}IXr30 z^3R(O=ZRe@|JrLebC8plm!KA$@eSyDASmL96fP8$1$4u*U@VEsep7E_wrcOk6d^}> zL_A!+SzLMS%W@nuNHMovsM}Ktz=L?cfNPW4oBkg8N?R6J)y;|>Zu z_4^A}X#JeX?sfhZrD{6e;ED@U=YWS~sZ-zjT7GH%k5%wie@DA;hvOn4v+>4jSW+HO zMJ%ssX_^Ln((=7aBnF3Q2E%=w)t+jILhAj_eC6gVx414#eOY{*hJeYCk0(}jf=LsK zPc-z_+m;r9Us}lZj+1G$M8HR<>pEy02aOi!hOia$Hl4su`G(LtUZ=q zSpig{kK{np<7!JBpvbQQ;PfFZ_33uOXrIk=M-y6qv%P&X+6rjlPacwV zX)oD41J>S~bKS_?T)gy2R|=`StIhAZz9YcWTJDk@Rnc9GC;3;lW`AyT*ym3@S8gQ1 zn%*~((1*`WLkH-o3I!0q>p6K;Kr8Pqtb!c~Ub% zO~PfShv%<_yb38i?qZr{>!?j=4fTl&GE}1iWx%MNCu^a%Sg=U#u_ot@P*WuM8y;U@*6qQV+>?c)6`5B!}#)5 z{G)DQ`UZ?f9-xJrU^s1Lb1*gY&~;}!>+J3?*N-8NmXf)@c{g2oTCiu4opvTt+zq`7uC->kaBFnS<${721fe4!yqohqNBN+56dY%{sCe&2h_?4I^mKooYQlINCT(Q}2jc1nF+yA&I?I#EQBrRPO*1Ar( z6d$2-GTC$?px?=VP)JUQ&bn!slnHbJQWI{ZTE`mJIerwf5q}t92d#f{EAiG7x(+!fCCCZC!ho^lwR8cjyF|cK}N16(s(#<>;@fb zffvJqUw8hFy6m@pre7bF5GVsb&NaSSh~@U8lA$@@JA8;wr)c`)Q5P4nYovi8ri{UVt>h{e!P~%q9|+zJ?8(S6g45XW!XD2v6Q1PbR?-(oAw z&!6rE=vj}Cev(`_a97@GF=PAii-I_-u`2m>Ct2Rc(i@l`_M1xbrM)zeQ)Hgjo)uwe zzjy}}qZ<)T?0?RC8Y%sHmd1T|A{sFMug*uHE&iJ*T*^U-TZJikTI2NaKiV5MF-KeK zMh<7wy+qN+x&xvX2+_6Knz<7S>q+rnfVMHWZAkXyko9eVPL~xtaO$=+LSognMl8e8Oe?BP2DF|@HK(ssu>C}b)57sibceW*S_vHxaON~~ zkDIZ2-kZG)cM&~vy?aqzsOzOVfZP5Hb{7Qw3?r4EM`HZfd#tlJ8o>8{J$#{i@ysKc zn^i#w2uVyJt1E_(iN?K$ts&{07N36Aef+o9u`_1_ZdXU+jKnhHO54T_Okqt%fUzqj zM3DUNtM?GX>m*{e>Z9}XVj0#vo}H{iy*K8JwO*1H@&Mr_zrECCvjQal?73o#bSK3ufd{d@4)Vr1(gh5pw@|= z++_~nY)_=x%-u}tw?7D-o9%zxYXie}T)t1%Z}VX@c_kP&tc(ToZY)4=Bb4uCvRtJ7s6FsvA}Jjoqc$Ta%F6FuAm$s` zIx_U{Kc>1o@wN@+8^P^z%`%nvD1uv$Pa*}AS%R>Y-qWhPdEO4=#~+3Y6)BciRQ_wQ z@%z3viit#cQ${OVlS@;+<%9VKJyj>rw=_30Up!{HT3Cs>L~dmZ$~1V#<8P^c19xt% z5XC`i7Hq2x=Jcoo^X+bC%Qv5M)_#S0UD}%6d^-2WNb!;()O-cP88go8s=){lsBJ)T zf+O&lGPwPN>xAyWVsDfsKE9*37n1Qez((;;_vplHW!-`Vy&G)1jhAX_LfN0bsbTay zVZ3J-yi#3RLe?`j+?ABh8*d9bu=8Y_neulw%&_q-$o{|)k%d#j|2_;h__)6>V`1?@ zPL7#eVgU+J$giqL*1bq=_&>8tNwCz;TkU6MPbMR+px2=^QzZ%2t|Q|;e>GuiIagnp zjoS2YI`19JYa*?cQPK(h@|lkEN9FozRlZ@im$zOog`hG7HcYD7E4_?%*Lac<4c=OY z@UlpPd3b;70(MsEjJB`pD1>rA$$Bddyk1N*8>INK1q5PT0@wG|@Ub2opw~`(%rUh% zpt=eW1PB| z_*Z7bxBe>@MU!92V-tr#ZMLA#Yzwb#u4Q#?a_5~1HIYUxmEcWckc(Nyir0ucC#%;# zcY5SJz3BwIb5#iEn~A5UtH=HSoIKMu&(*3=rC_US^E?$P93c%zg+M2wrf0u--O1E)JI8m6xF`xXd4z0 zQq4d&K2OXcQN_7HwSK_ql|@X}*d3ACTX~nR+hIh}-XCqJkCfq;W?O_TtG?6|sJM$c zd-F6g|IvHo3ejw=%;1r@G*vZrwL?IpKWMKSL9|#%D0?b9{VEWB&*^|3SbR{RQKYI}-)i zU}jPuMhyaK#O-Vo-U16qZXejK8<)gPjg5nnHD^)fDUq=@qJO0gQ2R)f8$5~OJl`*7 zcndP8Y14B9TXHBqrB+0+HEBVs>zfky;yy&XW!8(CQpU-w(UsOD_MzSFQ=w~b-&~Tcohd zgi2?2^U^5=PN&U<^vYVPfPw~Su$Kq(XB!E+2!O}~%E?9$o{rw`L;>YcI;Z`6K5x>P%dKNpbqF#Q@#2Eph$pj-EVVO1C{7nbUB zxv$;~g;rEmWdlYXrhEV)c7Zvb%W?DPTVd=~IUF(lvz=!qB|KtIF}LBrbE2?e*#k@m zU`v<=j~Ptrt|NJW@rg!cZ6Y{7Ysm{hbaA1SQ6|!5^UyN>-@S+o#OWmXL~igvanNPBMo@ z%J4VJ6u>tfHCOh4f5gYm@*z2y-81pwBS(xp272NJ2}!CeErWz^kJg zIZ%G-J>fd6jt-<)z-)H)^n|4HxQta8N<5rQ>v%+ff$~bwJbxv<0;5+f#{D=rVwo8k zzFX-&X+fxXyGKu8&=2TJ8GxdM>7anUOaP>(S&2#Z?8zo_~hvUOYsJ%nYI(pBph&K0@SsW|Ui2}p2U3jdia@!_wRX0 zH{|1bl3v4~j%A)ni$5Xe^`nKvQ6tY)8lwV@&JYNhV1y70AHVOnR4kA-=xtjcoC}6y zV`BW%(@D=Z{~7`n$T&>a!oRcRx5);Jz&)D4VWY1~o}P8V%FYnHOtZkZIp?Wd^x|8yD~9S~z}GziMfVzn^={!y;7k0?H19et+BRDJGsMSiOow zk|uw;Tbj8;w5YuJm+-??gRk_j@^p;bF)G{Zdcrx+nwQ)kw5%Nm1vbiPx$ZFTnc$gM zClM||k{4m&@R{A(${#Nrend27Z?D;2y_!b$?baX3=eUL_gow+RFxhy0HkRT>ZRJJp zGo4&tYh!$OT@mIrbZ-Tb2J2@+LP$UW zVv$OT!STPg+ck2DNHB~VB=C5h-D%k9e9#YO%m+X@{4G%HwDT1|hpWkW>ToL|^>jY!>?~Ku@sr}TW$0|d($*-#3s00+!Vza$TeW{k z8MSnsN*`E8_7?ZXL$T!wpeQFj6Z6*Mf-@{*ydI;P z_&Hx*fC!gmi^KTjy2X>hMXfaA+v*IX;a?IgZwb+#S}=I{Ri7;QTcLK8Th76JTe+9=n4?CC`1tgQ}+r6@j z4*j+6h-{!#7OPbt_|huoezN-~2zcyo5fR3>=Q~9Fp1;5o603(gwTuiq$XFRex9(TN z*!1(+kCeMcra3kc`!dq0%E_*h)MfbPE7hj0ycFmi{=1^?KPSo-w!HzmZ>hVJQx~5N zkf?Zk*5TIiBycrhwsMy^SVXvh1VJ&{L|#enA5Ppk(v3b9@NtkF@3VF`WLH&CWN!xA_HW* z$4Nmsw`ewQf;%C1P00f?G)hdb#->)?A^HSmDG)xvBGqHAS&Vm&J;X;(hJD_ zGJ!2HU%~r$y+%Pzy>@sgm+(=02I}FGi2aUCQ2WgEz7lbt$LCeVi{JqjJY$zb-3wDa zj5QfQ>!HeD8 z^L5%&OX-@(+bCkKb@R!$Pde_Bs7QD##Kt2os}4H)b5{+_sy?_lUMib@+3{ijqFdH5we*dL z`6g_1Q_|hP5MPXGJ7MBvpn&&o&D%iHG2hy<%QUKP^D%ehS7xlc)MDa%3;M#7+~3)N zoq3(zsvgx0&2HExOpeN>Cd0?-Mtm| zoOZt~?9^CP7K|67+V1-7+BB9hY!HENqtKFN@z+BAbzx6GcOdnka2)M-cGH+=%H*M@ z|F$G1&8MIy`4Hr~lb)3UKy1=9Jm*GOB)V}IjVR^Hd}GU5lcJzE*(Vs`r|A=F|BPjfJ^G^BU7UdI0e2SUK5us+2o9eDJlU#C z6k4rUb%Lp@cmERJRDLd;<*dO~K~s&5!$W^twz%MQ{X4O-w)dOBL?*joy(eZ%gM109 z+ewB#og!Trcg|hebQ$C2^yzD}$9Gnq1FlekoKf>hl7iza6jg^yC5{az%i_`(sou}; zxjSNu=uEvR$p!;6mzO86>nid`nPdOuky#+D&q)$vji?n4)cZinlJbqH;D02g4*w#( z+`-NO#MS9y?`1HhAV4ucH%VXQBmW3U*7(NljLLhTdb<#k&^9M!f#(H**o5DXt4V!+ zJwG=+jXZZ3aWeOCgneOJB=KrFNhI5E6BwKyLQEDBq|tP~_mU0X!5of!DxXiZdr4}( z9gADuzan{343%YdGA^aHMPAl-A-O=Yh7ulYwe~l4KF%1nQrE`sg1+83^4&`$L-s<$ zJ1NtZ^c~C!Ilkdsb}4Hr=6f~5_c3P`Rki;*LIUt7=6o+Cs-Kr1X+l0Y+7M(YgebeW zXnPji8x~DiBjKdFKOvrdXc1pq<)`UYK((YBz&n_Dz83sZnPY)9H&D?6p{U|Z$lRfG z>aVQJkw1ZaE_HR-`RR26y8bf(Z^l7(yP4f(z2*y_n3v<+V}A65@C?7;^h!0{L9_bFnY9+}o6mmp469*hCB>|K zQgAd!)temOP53QqT|<)flM%726;+q*F+Sm}2fJt@r-dri1$A@W;X!0qCX=U6CRl)~ z-32=NtanK4VAhT5ehL{=u=h(1CvHUJ(^xmh1fwhfHSoAs%GmF|n6{?q*e-0<$7N-H zI%0nl3kUDyD*oVhj8p>$Z7vlrf;z%!Q!jgIiLnxlQwYKd@#&8w#K0lz!%6vzUSy27 zC57&G`^VQFcbl@*;%!ey{ zkUeKrv}y4sUXkc>!X5Pdw0<$f*P;KaPhgg~SL^UIK)30}LnJ(r#9G`^JuO{w>kLn+} zKZIpz$@>#5soD=4nwQvU!|zt#oJxi(s}jH1=I)}=M7!fZ8eYABo^R`Tr7fboI%Mz}Jm?W@ZIAG+8xCMFo?oa7{4EKwZ}(a*tmBdQAN3I;7JwWOL~U9` zNsPL)zoC45W<*t}`EtTmw_Ge!$mGrlaSx&C#ny-^nN_X3*Ir2Z1$hUFj}g~>S#sleeL!;KncGpKg{@R{ zE=In9yz21}H3h~Wy3~-1#jy2#N4`h-Z;I7Y}%P9Hp2R+M%W7$uGGoMPij%3CLUpl)%Q(I~h~9&X#3Bkbms zl0o$`gUa#gZ_}CKDf7zJ$*xS*z0C0u%CK#SIP`Ox=Fewh!9^@vAHrHl@)1JXZ6;dE z1#f#DAY@&Ya}RIUP5o5C{0k2%nME-{Wny%`^U%GQSEJiqh21jYZIeMv)wNy+?G$M^ z;-As(m;?_F6CkXx2Fpm*l{dHO8;b4nN~KP<-0;2hQ9bC}ITzm9>Lw0R&L-RWuF*Q- z^}#9GVK2+7Y-+cW$vk0YLB(ur`uYTKU1xc+>3w*XEzXFx_A{27V(!0C8rsIxl!-l5 z2Iu6jd{<*w!f!?0fo&Z16EvO`(|u9BWze#v2Fl~?p8Tlgk_y;ShcIH4i`k!e)uXk< zQa?}_;!5UmwwYw1k5`)I9{MMDZ^RZucIVST_dky+{)o({)A~@%8u20t2c1}Xg1$of zZer<;giFnf0%kK-3+*@gA_m5^^vhQz8k~nqXi2<*+l$nrcs8%;5_>PVXK(Gd~Nj$1y^N6zj!X7VpFV! z9r?VhX|QT6i68E+#qV3|1Yh2FXyRss;u@W!ZuO5I{qd$Bc31|^1s9TaF$vF`P{OyG zX6C$fnKQqp^zxx@!rZ64v3_Q@*dt~QFZfqpdF$tY^vcn&F=!_V>WpH;_UE- zHbNZn3R-|3aqtUcFE9U2kXZ9M$Vk8Qr_t(N{PlHLAGQBXsi#6A=F5wJE$Cz?T6c&0 z2~g+^ju6_S+S^Dcb<*Z3g^+xFizy&J<+vEiDuKc;S*WFcs_dGp@kIpdUOEZ$JA4eo=WMLnGt zRB9fifUqlGDwkIxTHdv%qwjv4R=M0|dN@fg)toDYFw-*O)Ia;wG~_{lbNe<70X!SU z``^lFXWx*o_VV9EaYQeZ0?5ZEynLQGjQjh;+AOnML4B-hmDC86Vx7vf`N<7LEy9B2 z2^ID-z5HePj|V{_0>X8w(rJ!HT)%sSt!>R7L^pb90zYYjBodZGv&*k(%CQ7d#AiQ5 z`Q+}n0YL4hmNDZX$_9X%=!%e1c6d9;&Mk~>jdLJzw`nDREG&R z%hM{`#-VgR2mFBK}T_OwCHfId$k)t%f{5R9n80lv;19x%^6Id`t4L^K-k^ zr@cNC>IUM{{@cr#-M(E`iKJ=I=CTCU+`U-YiK z7`*mT3-q+IHozn8Yk1$4mj@s6*iPxR(jpJK6_G4%7G^uI@(RjV{i*7ka`)o7BJ2_3 zLt`hpv}j;)Az)4 z)+P;p%c;9~JSG@oPasY$zE_oM{E9(rbEwWSU7j;3 zTPmupgG@cqg;YXZdi60;l*b zhJ`_Q61JA)P9W>IFD*&`uai4YPhL_+q+CK5uKWn|Bg5z2_rkeQ5%Qvds*^Bezje&;&p zy3W=0#pm-p&-;15U-N$5x1b(LXZ$YH)7czk7p>T(jb+cC$mDrUHgT!Wfuf$A_2PE) zOzj^S-Y(+JdQ(=R{y2w$C*5qmVZxL|shIc9_H|By4EH%+IeIM5Pn}Q=vHbCVtHa2z z?Te+NG_voSI<*W0`wPs+vrcVgt=mR4j?SdtdY9xIPcv(qI&<5W#Yya!@hb;%tLe#_ z0P)=nCsgjwUD#T5oK<*R+aG)v?~E4xQ^y68;7<*~Uu>Oj(l$(!&>Lx-+UL!81t+uY znVaWXE9+?z%Im4Ny%&#s$@fn}*qg&MA#_-E1S_dtXiWqoldHg7&f1=|d*v{o$5duJrOM zZDB=d&7yW=sc-hCsbt({<>jod&}|WVB1{!0(+TKuaG_we$_GKUlft=~8^?8qoA2kJ z;Q7f|N0-Qp&Si=}x~>uL9$xLSA=@K9T+Q1oc$9y>JzVCX`6xO`Q`I?UV(#X7`C3<_ zHrL*+YrCxT#>2t-kiZk~9a4YO*g!Jf{t-fsMrs%J*C6(+fSf@J+sYG(84?A5aZ&e zt=y-NZ+oF;?sivnnw}jUW{}Dl?~?UAVdQ<+#m;(txh3OUna-Kn%)TY>?yH~D3x~jXL zhqu^;kI%Ae6&iNbi-&}|{Jdg*@%fIF*drIH3Qg+C+0P`lE{u1Hy3Dem6^Nnq(2x+- ziKP>NehHwPK@_Os#hm=VRQwF0<<_2U*nK&oOj%8?f4%O?p%0c`M)w?SlwyEWd+^bh zql0tdvR3e^fftT0;a4708s@Cq*!Ih5a^A6YQe5)WQ={k|QW4?u;mPQw9dVx0l?!H8 zMnzh$&}!%Q?b{C-J}>T`zdG|)eylCw+Nj^b+3(-cXOtjnKlQGz6gJc>!ov3o3kyx? z?KjAJzWh?1cK!S$g*08}G3VW%fg2OO7vXoWfT_T@$r+t^mWj1*JFoK zEGfA~J{t!wZ}5iA+dHy!o=jHj>f&Es3_58|m=XjEXz47-x0hTQBWAc(etze@8b^Z4 zZ*^av-p#Lzk>b7!j$*w(*pZnGG4nk+=f-b?2~A$Np7GhF<8)pDw*u|o(|mlRx$;N4 zyD}tBZCO-S(#24wTQxvxB zfOTbN1+Sky_w2UgMXMjNQYq`N9rYFao&3@#<7HY>Y7!%_w6WBkiP{f7ows|@BfuQk zC*a#hF}_EzFaX5=72^$qT4hh4J{1uar7i1rxfV0q!YA@At2C-LgBEn zW*@sitns4UTj;7mZ6Nfun9gkqX zH8f^w_lt&x+u+TiVrG7P;$heL7D~!=^x4uR*txku)G^AcfA-PFQvZ~QEM@!fh=5!X zC1sDP$*MboA5}aG#eBxCRY+!a^^K(54esvB;NyCyYG>yYPjjbF?^nfc9lt0OXI2?O zll(*$kN;>$Vi)Eeu(jVOy3Men!P?Yxnpg+aG&9cJp6PyA9O$hv+a(>syj5j!B(rCD z=)v2UIlWgy-{0%Xu(7Pqy590GD1$UgyQ6sT9>Yi5{Wdz5-AK9=36#l0rC8E!Okxpr zbuvTO#+XJ&N38}+1$PTw>Yx{D{P(3)qfbKhhwG+1llE%3t$!O=6aFXtF{_3OfmkX0 zdXxkJiiVu1oY3{Ov=1-*sbRAcUsyRgz4)SHQ=V`4PqewEGzA!C)o3&}8{7UDtwWIo zjr^%g9+9ctrNPTg!+x~Gs^1^Sx{n3F|5ZG>K2Y2`Z>IinzMz~|$i0nMHuSVtU-{#y z!xw*UL#0I847ISDwjsS#w6Jt#<;S?phsO#jqE6hu@l}xg*3O%6oz^?@3k9YDl}PxX zFcK|Vq3t`mHOdW-Dk|Ns0lF#L{aBBt|N4Qk+P&{3JEfYa`7Y^|2+15C%C5oqRR`zn zNp4;}>WoJh)Qjy*WYnnGe)`}X@`k@AC8O>fA5MDK!`Vp!AkL6LApbnUiSsS7(m$bS z9KFw!12*{qX$ z4etMTI^nX@@kXcBOWq&CVa0`e+$Z}5p6Vxe_R~gYTk+=oFr7HVK#u5N1D~P6p{%{N zql7GbYUJz3j%E8)!J87C;g|meY#N^49BXQ6^Mhx;Mv10pBW>sku{aTIl7jVlk#^Tk z^p;dL2?BYc7ME1=jqTc5CbVd}%1W|dXr}dSBWaJCa6$pc4yIXCnz)coP{xUYAkuf+ z_w23x>H2wMg_$Hc}tt4A|*wrqfU@8dqBs9z~YQPS9GH4V$KBT_OfIhJMU$Kpx1 zwgUyA31Zy#{O9?toVV$4M;}olrv4m|qQ5JxWPMK1xOMkX8h9)K`YKTCrv={|S2)&D zva`8Tj?4e|waXOXY_Na&%t9fFUG9Pg7}7G(6x6yZni)csYWV&6Pqxn}pd|gezR5#p z`RK#PsV@zlf#D4dcGdDBAi}|LJ{vpx!+oPW8?-fPrax@h?)0U!B=}Dd3-bAgix=l* zd^cSkOa!}{G1sPplDy>$RB%-6ptHj4b%Fbm17H^1`-F@smR*y}zHAh`Aqp~tM=!pV zQ9i9|Ru`iJ^PHx^M+GlTbGPCX7hY#G@IIeiZ)j+!6fY8bYcr*`%-vDjU75_M)o30* z5%o-|0({kbQz;{>2v(}bv3VukJx&NP+4*+AwceEb&*^8x)cNZi{Q{S-CN#1~EaFq1 z-|ePe7`Wd8L%nVDZbblwTeox<4KmmV(+u~R5FeDcehblj0V$yPn!{=v8OGUArUOl1xd%N9{B-%)*Q zvmU;x^4Hu}Iy$<$yN-BaY$gKZv=i+N{AOD)5-EH!Ib}~+YBJ02?5X><=S$-HoP|OI zbPDYA3r5k=mZMO`i{fLt6`l;7OIO*|%XB>Fn&AKPo<8NVR{<9de6E0k$0*Nd9e>;H zbWtB|E&7;?b}ffKt>_(ysAM9RCVp2uDKHA#Pn@V6NPPeKa}y?&nwcW_!hV!J*<2bH ztNbI=g(PvyqM)26!6K-~SIj5I%IYcZ_ANrB!m^$D+n0BjBa*#CX=r8N$%=Q(mD6`} z?f`t0CAeRX9D%eqpE&N1jGEo<>u5byBd<|Kt2Y_-T`F9mY>JGlV?wv$3={e88(*f~ z{t!%uj~a&AK4Ye<5EFBC05zBRqJzkIfWw$nPlt6n-*vFyT1jlLyO`&X!gByVZ?PV^ zP&bSZZs`&bA{}iJf3Q+?;wtt z>k$#MiLP`?OzZ9!6x6zT2#s^$A(va&U%LfG?CBQ**rJ{=bFhmB*jQ4pGYjU!a`l8& z8weBhTA)g+ZEp|8{cZLDR_Ois_zS!}vjq}aQQAe)$SY-cjlR_~xySre8 zwiq*0sCZ#~Q^a+F1CwR%n?m=4qD#Pa!HW6judnKFD5%(}bc!u?Mg3Fe$sK={o;iHu zo*_Z|*rQeA?*gv0YnaatWD4M;vyos+)P8a=^`O;zKantj`B}$&aGy}_-@LlHd>wT7 zla5~ti;mtkH#g_cbQ5z7d1|Kt8cZus;+MIZ&y{-9mrHZ;bRy#KXpPnI~zMn#BP`bho)<9 zL2hoc&J)9_{-P`;8+Y&k0!~PAs&UllhyK$`)wQ*^kbBr+Ok2SE^&#A`qRoEfIl$Dd zOcxd&y=CaD*LnF~XHBv%t#SaRwHjq`zjH&70`b(xHuaEx92+w=H?RNtzA=F5iT<<4 z)#wGOt5coLp*zz)dMv`t)s>2#{%T|6m%*}oV49c**(%Mkp=XzkhyhMeEiPdYwy)HQ z8>|pz9~V{tMjM`*%C7vetUZ!BvOLY-Y)BaqqhEE|x0`9q*H=N3*vYZg$%!o1*4B(i zt33Brx{BvWV%RoqP5u!Larr=YSPF)Y%481=^SV-_B>xp6yZg zUJ#cwPhxlqhs;p2k+f9wRi5#9xjB|q#>sScDp&ZOdpKccuq}ob!^=uaj4xb}hgHaX zkMaMj*<&CXF#|>4T?T3syVKmcgNSB#5Ho`qA(j2oiGn<_$`!a`j zq=B(?aQhK+)?3KQxwN|t4v#-;u_7~{>g0sMPL8C?&Ec1#TJ2N*(eP z#4_E-ajYv>zUk);fQWF9nByJd-mpAxtUSp!q%}%v^IILNO6_Ah^X}#dqvfbT?z5+6 zv*HqwJCX@MVhBG1h^6LeFF}j|z^`teiEPZn>;Q6A6bJjaWKVx_aaEICNPay88Uh_N zMECIA{4NQ}`Xz{3z%3%IeWgZqQ}+ggm#xJ3qDQF^!8@!*&2WIMxvlLJM${V{Pu*t=`lj11I#PDT4PWCIA;UDG=0EN2h6+6R-75g#zlW!mm190UR!-ftUgixc=?97kXc!B=G6=)mqd!9TpHi6m%){lGa?*W-QSw;~!&7m7 zzZTBEViDc0%AV=T+eF9{TZNG4YvbNA5IBAS_*gcpC#C0N-}7q%AW$^{@gwcd)Z&D0 z#gK4xoQ8)!M5V8|iLLYao%1}m;AwXDXCnG3FrQsW#=8xkA8YRdX-{@`x9_B*nB3i6 ztb&pcRW&I;ye7@Qbop9;TLv3R>88l+F@kXV;=WtqETDtc&epBY)+-Qk|G|enPOvW_ z9Q40)=B+%#geTQ22NCKdPq__DyPHGOaIJM8PkZ@ecKr@`2p9zD)R@gPHup0`Qk+!0 zY)NpJ?dMuOs|@F;7jVAkM|}52iAY?XImdi`L5)~6)!T{5)1ecpy6G(A8;RTS$FT;8 zED+2R_e6%C7@a`uU=fil!|>6ZfFCXDXYYK#L4Is&cyimeG-iUonZv}6Dk3!0Gf?>j zD=iE*(sqQD9H~FTJ=O;?tG1MPYovtp`zgPyZg}PO?Y9%Rumo{WcNyYIi(t@E??d#8 zv;#a)w#0?%-(BOlbjny0F(hP%(B&be!BYOW z>Y3PPX>T@MaPq%lp?h$Z==+XIv!Lv61SP}xKMBj>!+}OOmVAJxvm35j2l8t*Tq?QC z;GOtyI&sN^rd_9Bwh`0O)e>!yyW(-H#=j{ZlX2zS3mr<*&nm_al1We5}3>+nV6sbg`c#VQqxyORQ80-tWF8{k4Z#fPsAHI8A{~PJ_ zokQpolr>V5?BN5LvH)|+Sge6E?>9pN+Br)Gz5t!9}PsC_25SKa^6 zuY^MRp7MzGr^N~5Y0rIC@Ny{@gJ6>ek=0kY;a%M9_6M)xbX?(KNLcS_8{|^ft7Aeq z37H<_haL_jOXR;C3tnL5j3EMl2l$ zRpMm>=<<+TBIN<)#(og2<{N6)ceYb->rp!LaE7C#bSe9g)tFIw*ajkAeMA?2P?A7^ zgVhNv8nK^V#uZp~?jzjNa~J!}u{SyT_gohz#(9af9kDP#z-lxEzE%HnIYC0VW&8F| z;J0Q2n==kUIhB###uDW-s%pHdAW`VmySImnxJsQ9yRz5c@D~sM>i-CTPn{wGWv^dA z0Qc*MV3b3DRfCDa{v(7j#Ir~p9UM0I2c<+hF zo?iGiYFlop+qut=pN6mp5rL7J8xUk;JTK@0(nZJ59iA{a;W05UKv1}jn0u0tkih6k zdhh#+pEJicQ8M4nvi`b~hoOF=*aRw>6wou1l9JAXZ~XoA^h?B{+>_=ENh(|Y(t9R_ zr zlM|lAucT2N#INXN-H!4)yMSb*$&XIPQDPQha;DzR>#u8* zKt*t)PP?ZNWj0fF$&V=J0rN_tD3WpxCWqXA!t-rh)wY(6=P<>7&V-$gu~@ick&cou zIWiZBzo1flvbld}rfqcpql&F<-(E*DMdD`E(r}}+Z%r(E7c;-U+Dgb>>{7t>S?+&e zl=M&eJn31wW?+p0mTNVTWIh+D{=^NSwG=9W)2G|(ArK&R!%2yT@Plej@>FIsVf!U@ zFeWzqA?L*NmF)hl-9wc;&aa~$`V$#-Mm`%E|5fCFv0ieiC!X(DIP5<|!?xz2uARoG z6*&EQIwpDzqDkdf?YbHsJLcGRD#z=tzw%l#AB@orn_0?ky=+Onan)1V;MZj-f?l@0 zJf^2cvU5RV0)DHAZyZ<|skfMg|8(fYsX_h?{x2!G&$6iz1%9bJbKz`F@dpyt$!>P$ zQEj3202}9Ko^uW)y|^#_g0-3T@$koPxp7c?DVcC-j7xszBM}{ z##mO`IDxVBe&^Z(sTtx{3e=yraB%t0y!vZjW^NOIYjwY_Cgn4P6oMKbuD^I@Rb-_3 zOc=|R$a`dOcrxA~v@%e8!9jj>F2g51Jb~=i>ZX*yf@_(OCVSl4E%K;b;#f-e{oFQw zZlbDJY>jJiue9b)E}lHL^;t8T(8N#O@Y5{s(Z!Q`*EYs0wvrMYCe#~2E-t0Hm-toO z)0R65s?;nxr*@yS?u+GG_1gU*Y)$6|yQv+8SeZQJ5{r~*Ly32pgSQdn(8ao#;#!`2 z@UxQpCX&G87vt7Gb2gN%Y0m+;4QeV40W_Lk;w*yj%$oZG4bWjir0jhEDb zG4_&@3!yR|1wP`Ef#T*CtJS1K>}USj#||VWL45;t(b>52^fQv&y!nS}49tb#n=2;|EU%$? zNpXd@!cy0?{Vc!0YDIWo_%`2_Z)5Mzw!1;7!Vi59eu z`W;Winty(~!PZyR_-yqH3L?}R9;BzgTb*e9TSQuB9Ft{yl)=%TwyyWl;)&(K_kZ87 zrdEdTCU`oKniE8sx@XV6Le+%_Wp9jO)d7yM?(>@`Nxy$VU;<@H(2%_cIj%WI*V3LI zgPR6sA-ggmD#{{OCL@EnX{8~?7{|4hf;f+NTmFe@@n(xFGq}qj!;x25*u58lBmUblTrA-fe~9`vH-5Tz2rLzAy_`f`nLRp^Sbvv1lO zFnKK&=n_JU0b{}JA|ku??%fO2NgdLX$NzdDM;JVok-wKI!eX}c>8#sUEVzk9{oCsM z;JOP(9S^wc(f3@t|kSRt*9M z8@LZ{$I_(u^Dq1y_%L8`N6N3BUfz4Mtg)qa^|1YbccO=P>UK>=&1EdSN4(Z-&2YHG zv<2Y&izLPSX{W0Wy!Llhab~9=4pc@WKDF6@y`N8(EWJuFFC+QZF!5T#&yW+=>~!UN z(ahvL(r0p2i;*d7`&8`+@ex_K+dbPzxt-MNn!HokPWuzJsXP8)un_G)WmfZMhLwoY z-yafR#4$lOXSMxgh4v{&_0B|NOrsKpofM`~QjJQp*r37ZgA%zTd5}<)%dxfRN!bS@ zei3)JbHZt*m9L1IqB!s1KkgF-Hj^;op4yEi4{Bmr7`79qgzGN8*}2P^f&Q^Y=o2lw z+`PKR`XTStHeL@L=fekGkx)1i+lhDkOI0%%|5p zwf_P65KdZ{Fl&k^ZIbxIZw0dRvR5N*O%8c4CC>XU;yd2vT1GFd-KGL=vlO@KWT88f zXv{B8IFAffyt-G)0<}DbE$mND`l1uRIQjRw`{19r#16A1Xg!(yPO-L)Wz6B8G#@AU zdhN;0-%Nj#WFNIznia8a@^P13C~6f8Z`!(;bl)m4SuWp_a4TvfShz^+4ib_5YiBxA z4tG+L$#FJI5p(Lw1W*waoCaQEKY zu4~4O66fbzym~v1M z5?vA_GCLN5)!nNAsx))%CZ7+d7fao~iq~TFDlb3cCKa(1{7u5P=88e2vRjErZ(CI# z#y~jziC~ip!SMl^#oM<-lQ%EI@qrMDR{uK%g)T`s#=pnibv$!4$J&cXKtiJ;+* zg6S(Zt9pN0rNrYgC?H>%9VT?Hwje=eWxd}$KR-A3d9X|vI5tbrF@yDe7DWh9i)zdW zaStjFn7S@7a}8VpFT#?aKR*s`*OPF&k2jkdOX6QhGU;RngROEK(=lf=1Q;%^uCLIL zL%}mpJL@n|V93Ehe?nWPdFR)jV!9kdUi4%qHj+DL9r*hS%SVzPAgUto!!w?;LkrHU)1+bxX_E-Mix) ziu5x3gMIF|3@4_OfXA$uc*M?D^b4U@HCg6qw3{O>llXB zG=}S+5>S6Mn|#FE35LVhr5XhO5tMK_xnqP{;KlVoHl_Wn_HILd_Sbgz;efNQeOq)8 znH+SvoTZ^_ULzX#rO2tfQ>&{Uy;0tat8X!pWz`sN(FnuW%CfJyhMGOd z(*45t9ZF(jeC0N58%$fZ;Cv_ma;d@lf-)@kS?F5a!-*8y&tKc$cCFIt{et*!;H=Rf zU|BnDTf)0I{8OUEwp;-vIiYj_9U-718H#KYR9K&#JXpILKZP1%;>H60C(4v-jygpSG+9{j|E;k2zrW&Nml=P;+@*F}`5S-$*FRykIX||5=6s3~ zp~}emXa~2(zv;C5p2`e{y56d~m40exgh=}3cNK^9@?~xgyng-qM>XNBQkwa%Q9&!} zAHo*vbOF#MP92~rApb7vZnQeeh{EL60cRUn2^W>n|3LuLysLcmHn_ssC6QC@5wY_i z;@4oPO8o`fI<+*Ko0$!djrppir$Wu5HBmecJ$ZCHf%ZTJSv6gSiD)7~n9(OI%Q|!V zC8$zRsC!mtFMpfxFpp9{yXmV%@FzS`Yj(BRh$;I2i$R1cxDRT3D3u)$5s3znR^s;$ zQ#4H)(6a=&vjhoPLmI2AJv}@~h}P=+K;aCnEIObuYF@p{mx&YpPHF&xYm`ZKs<>C{ zGqPnaUsEIw7BhuY`Z7EMy0o4OGKylI*?Iy59{_=*UB^c>z*ln47VX0|p$-7~K{{7Z zzoaPZ>kpU+N~5tdid3*0Xu;XrPMik!j2r>GagAN|jMxcTETfSEoKU{iknxu`MHO`AqPeUdXXGs~3k zcnKE%<_O85ZO}+u>ezjHs9-Midye~u>)d;LxXqMUiI*v`{3@!BTUfQLrc7qy(f48269lF)PLNR|Yj z{Z2YMi?BBwc;8zv&KH{up9iE))3GnlrO|`|LyQH$1@P1BcTiK`@~K}u2aN{nyGX@~ zi$%a)M0lvak}K&IA$_l2g+V29u9osd2uM(n8DC#s7y;pjKtPcfyj+aL^-{e$b*&~h zZHc*xze^uC@!v?gNjwdR(!bk) zf$D(7&FeqE2`cAWn1GOrK;+?Zq1aW8<@5uN#~Ctp+lgX8PfsL3)&#xzJ>4D89&)z) ze2u54N_qzNoFSQ=aYIPf;pSfR-a+5y6d2WcS5_L9<6#NqiS{NSWmpig&6LdOKX^mW z5TX=HOtE^_(7u4)Y^M=)QEVqdT2+AJ#gdkAuPXo(P01n`S5 zLSye8E5A&FTR;45=_hhYt|LFo4L}?BVx+X={l!q&45AJX_^mov!s|4&ur?eX`FIRjweI#P(3|IjLu^G9 znY%iPIVgx8l6OtL{Z+x~pMr?gAm-?WuyL

#;3U2|T6TO1%6T)dNjyA~bl{ivL4| zhKE|t;`jew!r7(atC=Qq>J&9Sz0Op@7+CnMtTNocHJ@Lzm>m$TMFexo!683Wnx7j! zi=;b8pWXv)#}FtxOwGS8yr2QF4olLr-MB4UJqT2SPoEI4g>4Rvj5PP3Z4J`SG6$dr zuYn+9O1;shRAJ(%9I`6F((}a2pbljwNOi<IzBPjc@)l)M=9g&v+@t7j{5f7o`v&KreTob&a75pR}~J%vu3aXcH;& zmdjuhT>yM6`Nj}vXzc9mIh`N74?X6dzP!UR^EJWPfFn+fWtTNjkciH(iH z)I8nJosvpQN`b$h4~}2wehJBzbr%=LrY!)OLOk&PM%!KevctB-p7PJh$(cjg!VRqp zO``Kt50wD4?*yEzEG9uKr}p$xUkbK2HEQ%K^5OQE+3ZfRg?HJyn*Wh~RYE!Un}T|9kiDL76-i zbV3|>WG$pt%1lvxOE`G6$#v!s2lY?M==y+nV*`C84b&~Q5N2c|qmCA`60j@#ewdqE z5tc4^bY|u;c(A##`I}+$t$*!3oK|k+k#F{bYDE-EzRftdk$@m_pyk^f!YUmBXizi{ zz9RkmVRm-8@z*(V>X5c3EFuKN)D7XS4+skO6ne&WfGIKO$I=ofHk*H0Ss5XNb$$H< zj)tG{7w~qP`vi!V#uhbmdF9ns%EkX%ul+xZir=CcHG%~YhF1F>a)JQ2<`7hu$phsy zMqdHbsNu`*oxz^1#N>gVlES-+>p+gn=b2)(iQQjri`w96WU)1u`uh9Ti9YH*JT%FK zY7ac(_?stt;dc=?;SfJE2|nRGwTl3T;AfDuo|`IY4+{-dn~I09+h0+auXA%Iqji4u zGiMYOOqxPi0q5<=P}>jswbaTl@Xe^b?*WU^)b#WPxNpA)%3F*ph$KN%4}@$&P$uF7 zP}caz>G$jw5r${07E4Xh!yDy^ae0ak}GasjAW6nBN%HRMh*dRG;> z2>=QKDgh!$0KzLsk{{jtjaY0B#d7 zrt5jol&wHZbv+001nzl_XpC^dIKkbiRX|K54Z*E~oZRi-zfo`I1TIbC+_`xCIpIv7 zLoW8&-F2!%u9JsXrlBIcQI&`$Fd$?OZQEw_n*-;)e0D^tK#z5Y#U$FzrXw{z^+7#3 z`Z_nuiP(8&5)BN9c3D4>I?YiPipY9DCWv1d^L zcc6m`!$3j=n20r_G1BlV{mfqUv6bL_n-|aGg6P+=diOavIvzT5-24#Upt)Fke}8GO zO`zN@mGljS2ssgag2Wzy#-9%CSt1w#u;J2zi_eaRgMyM6+q4F*;DD{L^=k?byQ^0%aUcoiM+C9+kQ;udL*nN5sSkcP}7BLtc<=P^O*aO~%@q zL^MeYii~SF!D;z3S+CKyZt9NFN7`fg>&I8P00Mo}@%-8q5`aK@i|zNrqo*KP!)BgE z1W5?wT-PVa@*rG7OkKc`4uAU8063-krysCcAi!iqC9e_CEu=H~K#J{u?!YQz-m#WM zqahf91BMfM4Jis?q3*18gJG-K9I5Wp|Cu>Jf#shp%J`pkkK4)B UOV3@DCc*#YWmRMzOP%-nf4~jSO8@`> literal 0 HcmV?d00001 diff --git a/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2767.png b/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2767.png new file mode 100644 index 0000000000000000000000000000000000000000..4ced9577e7e7bb34b2eb302ceccd354c5a52a15d GIT binary patch literal 33324 zcmaI8WmHyC*EWhGof6U@(v5^Sji88hcS|GPjkHL2ha%k|-AH$LcX#Jmx6gCV`;POC z@%>O4?7dgaHRGDsoXa3tX;Cy}LSz^i7&NiZALU_SonmJ_SdMvd(k;(d!a zw6cAl=s$?OKtS%rlzXYkcTFGu<2x)320cCUoA1c9KEG&v7-#DD(X!ygf4)cXAG}`_ zJk0)P4;k3K(Nrl8=pVyRj$ZOOw6jmjHbo@&!xWxIYRrPg6b3)DQi)lDUm)tKP}aVL z{z5Bq{S)*ZN0BI^f3M>H|6j2AV-K@w#EQ@5cFCx%t-Wo}BN0de#`rEj%n^EiZf`c8 z>#ePGUzSK8KcB+y7B@UBD-j4C>bvdd&!01ti_|+7vwNu^;M;GmHVuu9OvItkwTM$N zF@+8f5Bm(AtSZ*7ch=x+92_w9K%eR9iz~>#f$M-Su#_Qc9=gD`VpS2_vl-*`m!za& z1qBRpa&qPib(P(7j(d}6snSk;JH_>fZ2Im0zEOTvQma;~`%J$p%<%Sn=c9VsHhDam%*=?-th9)FE8P-Xj8s<)Y)0w!d0adBB+UsvTpm3uZg zI7nrA#*CJlZJLC%N>`nmOFLWnwd;@R7|cWFgC8x??UekC)2S`)Gnc+rVfxweiys@w(0TqE2-=D&o|h~g@uge<>knasc~`2 zWf}gM!m7CXU$F74Yt;)skuW9AQ_|2x$H$Ax$_`7#Bf!Dg zY!Cm$I%;;zdN>(ptBmmPzX;vTBf9QH2hd-q6tC)1D1P6^AaWDEt0BjPXz! z6$FAuLz81G7^Z}S6F&vMlLF#1S!(i#tR@ij+{l@7h;2TD!tX`i6ggFrBMnI+&|A-W|^~Ffd?szqW=6KqU|!Na9T7b2*i| zy1U&gsl8fsGYnONehMjb9vEoxhP^rdi;>8x_q<5G^3A(6a34?PbFBErn=2FO!=IqfgQmcSZl{OyJ*kkfshu7^-cpE~%o;|!b zS*T{$XBbMz+17U8f*czY*OL`up5*uWi5N`Vu{T*n1ms!(lhZC0Jd`}g1W@$0=QA=Fp|hk?=vylV>Ir9PM0a|t8L z8JZ?_PV8$2r-;|*vzkw{P8MtRb&+{#vQpSw?#}@8eY`)Dc|$>AV`HQDaC<>4=$YdA zaQhMm$1f*`=3usR?Wp;wY3Jmzkuhs*CxP3J`r+=XYhfW39*wZnpeM?+ zwo9H+xs1^e<9Vaz&RjWsuw&{T{u#Y<3-Z$T7GNS@W$Vd z+@5ri*{yfKOoCWx504r=JwCuR+@JQjU#|p?7ir)L3JPLjVbz=s^19p|RD*r3%vm*O zSuHgY3%Dl$bH%$MwrV(m2m2Brb3c9tl!ne10b>)`pJIV>k!15&7zwZQaVtV1m(3ek z1ayP7&QQLG^D)H|?Nq(L0c9R{j%gm3YMXHTFAL;KX2GzkM4SNamSvwd9rl z_;44UmNr=Dut(qc=VKHRHsN9!I@p-rPTI#uH)Cv{1}!F%C~$%d>uYPi6&371b)yp`&7y&f$y zUFX2i=yt`dP^geC`BOBUwBd60D-4JEbOcyA*aI2#$XD0aPL7Y459^OQ`}%@QOIg*c zm35A>v9Wsw1`J!iJ@fPTe>VI}B$$og%jL7JzA%&7&G5Va@Pi!YvxQBC`y68mi9kv} zOr@~oXjla5i}GnZ6~(zK3#;3!SO%2@ASH=-W~R@tfS38??(SX|K2~nn=W|9%O6u(9 zX7_l1!`5YYyetH)#A(csgxApk7~uNGhD{fV6XvT|pBCyIb{6U(&|Rpa2Y>&b0e11n zWW-0i(RHN4Smv<#$@BjHzL!{3?ejor5dUNzI*g!s5Dk0ImxD~;qGD2|bN(*OjJ%;y zu%CXoD$cQ4>nw9V`LgJ;MKW2WA!=^U$fW+~HSq1zT{let-86^?oXQ=8y$nG zyonGiQgU)~$plvK@81#S<>jrdt#vzo;NIVCrE^%!#>fah#C!@Rv^iZDi|(?a5VMpl zG#-0xc3WrjmLi#|en_1MYPHI}Gc&b{>@n}mr&~(({%$Wd3qoh*;!3Egsp-XF)rqE- zng$P;-g25xVx?!({lI zNbswXYAYRk9+HyAOZ6;bZ@ONu$1^f$uu8US>H%(T=8q}%Shm#K*^nT@GSJ$s_8@Hg zol!VoJ&)IG7^v{Dz(IZKi(@L(tc^Fjy0aB_hf1Ec#y= zgTJqVDJKeg2@E7djNAN>B$GITfQ>y{-rMT~3R&}TIcGZh8)+;@#(1&8h2!fas+E=1 zi_~oJOfep+%kya_Z`Y0s;cRv$IzZEZU^o=uS$V z$hS!{*6i+`PP9Fzv1Ce&gxqgT=Aw>RKz!=8#g^4H`7_Xc^uoe2sS?@)p(V@1DXb!~FUv{uw z9B7;7ArS6 zF{O2gSB9OEXMXf0GPz&w>T_6FfMx#JDiE?7b3tXzhjEJ?5e7BVyG;#=Zx=}sx+7iMAp zK45q~mbSlt6L}oW@+=F+cCI(#b?7-szrN`S&8u}53RT{{N0U$(aVQw$nhpjLqJK&G z`W_Q3TUarL5)w?x3c&R<6<2AYa|V-L4LuU0hZU4x|hWDCerJAZq5>uStF|d^nhUpA*cPES(9BgE=m`$&$+cYj!15dCB9a2NCR61N_Y)Fxj2eu2Sv3^T-chFYLf zk_|j4jAosE5Wp(HzPzkAdU2r!v*>we0RYwY<($>dTs2D|23a=nGPuZZDJXn_w|z-M zGEikP$L00N7cTh7rQaE%2RzgI=BDjY;}x6j`sdAoWKl=QcN*1}A~|EvSe=h`)vGNB z@O0e0eSKle%F4L7xs__`~*vD>&aa;5F6i?CAi?h6?InmUDHD zp^1D0eDm?+M;yv`Fd*Qy>#|y3AM4fG@3cWeEH(M?2UjN_4+G0CnT1NuX$+zjW;_a#J{8YK%me6oRJ-#3IyYC(m8Pf zj5fVGb#$Rk9(TV?2|*O5A}9BD*qeL{js^y7xofo}*aaX3)oM!;a6Ztey1&2Q>pEe1 zIsjQJH65eovEOd-fkQEwE+tQfSi$SAwg>GmHK*4f)&(mSD3AOxRd~gsZ5~%6E)kX7 zE6+Wln&H@fq6o)^H`=RMz&P4vh~By4}mpD zO?S}qlHogfktrI!*+Y}w-rDL7fC8IAHzqVF`eF!t1_9A|EfgY&m7KTDQ52JWdhqdo zg~bD{S{cV4~PvQ^-LF zK>l9_X!FG1cY4DlYDur4itrwxM|8ROMx)rX#=|0or93Lg2Sfe|1P^#l{(s>yiSw(`&M~9#?Yv@DX;{P`8C+b* zo>$+*U!L)mu7eyk&t+l)wOSAzy|AF`avI{l!o^2r+zmRodtI=9- zL6|3Ex_ehJb_e^!J5xQi?AbL+u*YOk2Sk%!QOOEK8K%t|mZP;oFiTcJ#tS1TuMlMs z$<5;dLUV0Qt1uqI!o>VmQBkqaS1Fg2ZL`t_XV0VMA3p}7T;Q=ZeQgi}Uu{sa3JF4E z*cu)iSF~+tQj_H?M0qeqxOPbnP%lbqYTL^~|4lKZ=#d@!@q8r|1cX3j{xC|&Cg$SH zssUR2E}U=S$=F509y2z(Ym-&pEg% z%Z8KfEiqwQ0`z;<3Gx-kOn_9{euIs~AKzy}L>Q$+#!p-OCL&`BxPdb_>udp*hIj`8 zb1i;+HgX~+`to*0jy``Sm8PQA%OYmk z-@$;NKZU^YeMxg$s&0L1VV}<-kwLB22vr)qQA!pypP+ywq40BJ9;x6^x>!j6>?GI- z6$&E$^UT@!qT>5Hd~x`fh&m`|^~)Wsm1Zq0&(7_2#W9IoC)3K_@56ty;epwD>fx^^ zo(;g9XdpKR+2H&QT1UlV*5b7L2Asa%LG*g(d`Nxv>LjjfWpx2|(Fc!bs$P;|i{Kfi zAr;sNL3Hw)q?^`I2?cp4DD4#!3l7L={;k8iSLLH9jX`Bg1GkxMKZL*svuD}AOU9qNruhkSs28CcZCU?WCkphp8HwrR z3($G9se3}H@Wba*7LaBL{1@A&`>l-Kk#`cgH-G$-f=krAs*eu-wVw|;9u{&*JyOx8 zG>I3+DJo&I0gf*eshWW|#Pi~^|0@QDU>Zoe$0fna%1TXL9TqNb2S}8H8$HCuk%2>@ zrlfoUm=~xcA@jP|%Qlh9%}CU-vHPE|sUaw@7XCDU%swon>9 z078IyD%#5OC)LY!{TRtEsPN|2kPHY$f=0l95@fuAQa%UKmh1NEjG7U#E&e zm`&ie#Xc^8)#hx8fX%7Kb;V{;p_v`Ogw+}w!`4SYU6K9+TSw6x#twgz!s)3Ir!O99VudJ2u_g3bq(Q`g&>;m&(S z)j!*m-qRl2g$ELKH?5oovi1stDCWsS0Ny8#R1Xc!20{ zb_+_rhlCg`w|F<4_A*GO3p94$g^&rRjgOD}CzzwWWFRSvii!fOrK1a4US1YH!p6c929X!gaI`grfOAXX zbqWIjLHKBGb=9Z3`U>n^u94Ik{)4u1qyq%ql_YgnhwL{U81wt88e^@Eqa!sNTNEGx zUTFeGShd!c3P{p_F$eIh#JrBEzALw<{gD)+h)77SAUz({f5)9#Y%iez_h9)uR~2d@ zK_c;4oq(MK!8C#07##tF)L=YU?tig!ZPzDjD3*d||&25#W~2Q&R)O#1x3_-AsdPj8`C(_#B(JsN|UD*^?NnN_dt1xWQpL58hbWv(U^ zY2)tB=lXDQ&j2Xf=EvJ$D6{~{t$c-%RGQl%x3=pJmBa%wF5aTrgXAD8f3kVO#02p*q&MVWDHH+?dy1yvi zhsHUS#+i1iyTrz~VWO4=0~%LVtacI5gEoxaIGf9Ml$fDPJ#-beb61LlL~|>ECm(k} zZi%+*pduJv!hA|yJy8@E?Hi_mS7N*SB_Q!%_GKPU37O2Wgj}$jlKrLuN{@lpwU>#% zz71u}i6>+Q-LD_97;&UFJ&G0YR zqS=0cBFFTPTJKcns?$7D*6bfujEDb^Ys3)+1Iz!YBU+;knD)bwFX^F$2QRNKQP!4G zcdl=af9mdGJg4S#U&tlf4ifT}>M}GH2U59)fW?cwr#MFTo|pW-q_{o+Jo00tCj=~| zoeBDJ7IBAeVg1ckH(dU-2`d=$*GJ&tl6}^*x8+dffMZ$DSUcbNno{RHAqhnqm{rg{ zDzN_0W6|W+*_N75B{3yZMvKsb%DTN7B)S&j+&_Ls|HrtYyCIz5ltyByJv16S2{zd3 z{kQP8&tMRHeL0)RO#B9x;;Chrjp`7_1L|k>ayg!6Wrbem_(O^77 z`Sl04p%z#GTsWt#z4x*7uKQaFg$MPC7t2S!Vwyd@oT3I`4So|K@TgC)PcGmzQZ=|p zS?%7sMI`F$-aOhFA^&somSBSgK60o;KZrXr#&(dy7Voj#CN(3WyHl0|3&S0*QOv}@ zt(1p46Dm7${yxo-e-93b8R=*OVDK>dwJUH0?>7&h$BMuOl zhd1LR$vOs8(EX72getLzec@6$r-lDkPa!o+Qe8Tn>9MDHx5Yai$P`@q5f!$={ zLz!DuolyOVH0TNC^MKRSqT98EIjq$)6=(QWPzF^~PRPs7eO?Di_3KZZ5CV?qru*o|j{knBS=Cv$lXjf6s^RVrw0Fg=FFeD=s?( z?IEr`twT2=iw^8xDVh>el@a3rSs;X4KG^N9{UZsWpFzMsWU@!m6UxMTSltchJ#b8O;A$$Ll zV68Z>8G|}9Em5K8pECaYVub*vm1+Fu%cr+690e;&N@pAEiLq>7rKPLiKofSF$? zhj%4ur~Zu@pCb3)wF1M@(3iAaeTT#Qaly)HRzz{lEV+-_AE{%$B+$<`XG@f$!w!N3u% zZR~!OjD8K{IYY&71(q`{2&667N*lmW753%Z9vFDeE{@Na5sD>Ct-w;>482FBUjS-Z z9Qyp&(SeeVDVT|dMcL9EI;uYywIIX+lC|x$wz}P-#q1->zejt(TTiIrPT}|jur|i+NOpa4SfZA-i*0$H7bEAs9cRj?a6!gJhvhMQUAvt z?|^?{8r%CRt>VxGwBq5^SjvJcuD^DC6~PLSf0$LkH)*I09~nvIS!&nU@gB52u$mmN zUHbI~O8~KyVgjLRE!?kf0`w)xG@%7A>i>+@>uW=ZK6GPFg>Pza_A7=EF)+F&CSpNV zv&wQoecb}o`a-31>UY+6cg;FYibAYt6$=p5)94wQ{TBy(p~RWF8TD86^pbTL5L*z> z%AIX1bX%W8Bl=!R^B@ShL4eO!DbY?5)Hx3K_Rl}c)H$meSM9SBK+Zl)Ge>7|FLw&*k3?;$k)ADse6`Y zpQ}P5!LrnZAJ=b*@U4+@IzR|`%6$w7G* zunm;P2LNcqq@&nLPxK`+DJm+?SAM5(3Hs3npvwG=y zc#_CJ1PtdZG1NI8^a26{5fO2@kENOM{1VVnpv1CdUoNqsnzTE^f$t?_JeXr#cB(5+ z1xNjnTeB8MOoS{F7r-@Dj@px}t1dtk{QjLRsQTZ6>x4ew>_+MwzJijMG6DH4ItbO+ zUt4ACGNB%t)TAJ8rzyVei=Nb`AgYeN;*l}HY!t!N5KssI_~}!*?MAOpAE*=nIa2cQ z)G3BX#>aOpHo74pA>|daT6`#STwZ^s5>0NZlXrA!T|c{RUwUZ5mcwkM_~n~$%xGob z&Duwf>pfi7bv2$hjAV%1|?%`R$uTs9j-@;lCFT_9UmxL#NFZ+`ew5GIVo=S$vP8sH3B!(=|2}AT_BRFVW@im2-k+((D=i(Hn~*VP zxv-l^j$k@K24qFf7)O!##nS)O|L+)>1-vi?nt`ic$x>KWtQ#Dtb%Ez;s{Zl&52Jub z4X4K$O`yhn>yqwY8tWz0W0Y!pjyBDvdW^6KH2x((a|ns^*?Ym&J*H<-U<<3tstGiM z`tqj)+4uU#r~&hmpQq(_>$!Qh38tk<8gD#NrG7M04$G8K9(L{ zb8zr{Q2fl&zz-bIeKIBF@?%cD-jw1@TsEm0-VberWEsuX=^KXZ@S;LnHgcP49xpRr zL;aVVb|?4-*}0kFLIXcTE zonqh2HkfOdEmJl-#)gM?D*-*n0V#WAu5C>OPrOrRP7md?)k4v3@7Y^URhY2jG261C zvp0Nroq?3m+EdQ?es7fZ8=zT!YYwc0HwIBH{bWlWl(Do&-`&a!jSCh@2rpaQ>|BRm z4uiZudeNnl|3x3DcL0z>cMXS9fF}e7WIPzvDkQ;Pr3PJJr0PA_vpZmSbH*2@n+xr^ z(gkf-mU^Tr>xLhZ96WDcnC{c~(Z)f)R#nvOtRwn{Fc+|zJ5}~DZit>P0kP1`ip9cE ziF$v8IFdPGm{Toe8E3fqa?{2!UfuPyI4kV^qei^V@@@fEhSpLdKOZ0?Kzt?jcTfxx z>ZPl(|0U^!cJ8iTB5&*QMwa&stm%Hu+@!2r&8%~Vcf6h=J8g? za=rRSV>}r07dJm0eDcvDaWJr2quC6SK-9AXp-*LF9t(ZAEKN{vVnJ-EcjIc|6)oet z$vJ$%^|n)EBM^C;Eek8?nQLwA0}_IE?*n9BADCwaQu~$igV@NhmXa6!6jOUGUov%K z?S|sOI5_yt&TZmmnD%1Kd7au5WnFFgb5yQ-{Mz_Ox5jAoFh=Py&)vpIH#Fr&i@0MD z;{eifQ_AG5xz4pL2`V#ex`U0Zw6+~CyR)ai8~mNb*YGBF0ZyIN+5ejilY^SBg3{-t zXq(2bWu+{gRCy8Kql|y;*blP{<^?^FVqGah0YfqXhmE$@emtoYH@1vYN>}zjo$M<0 zH{9$jQJQT`g>w|PE?o2K%bff&ywYI8p7Vy>mvR%azo(AdJeqz}n zwVp(+5xWS08UX(l8*QC@EhIpOa2{-?%0uY6Y%9bFYi5#DzFISTndbcwwS>8EBi|JR zx>g_`PUT1Yx+j#sKpVqdn4G0va}5R5dVNo~q&%9bNQ=rb9&~t~sj%c*t&zWk=-|y` zr8K@~z>T_8u_SJ5z;f~>SGiz6Ez+vGb0kHuoOpf1x_?_`yNWG5O$=R`G=jq!f@vD9 z+X7mPhlSbdYVMZq7s4_my6oU0)=t;t2<7E%+cO9BFj-!&Jn>D*nRuV9?#rpYLh-%< zyt>B1!4gjdwlPV|x}Ku5ixZa$=<<6&6d;)jIGC>2|B_$g-$*Bs^PXE}24(7r78PY+>~ zbVRgWqB@)0U*<^F7(fX#jF$K19=k?%GPX2!@6&GN?U_H~suZsqf!b7|c98(>P%1BI ziJB znFQej6KiYlKkO0ie>5>x4tCqw`FCMiZF)Q(xoulxUTPm%DU3(O$O$zQ0W(0!mb8Q+ zT*~tlR}du6|6@x9;pXP9smU#>^Ll!KT+Q2Iz<}aE_1lr>3cp28Qsy%*Eq2|xfyepe zP}KEplCy{1B;?VPMl@;}pInuh|2EHb`kxp6=yE(sAUxjLRzCe`LIcSq$QzVsCYp=;gLhiqG9bg5!U0#Z zyodHWyoh5!ADP@-8i)+^fQ18+G0JkG?gUhyuwVXsOkh+i|E*gqu1c^LcO1R_>C=}E>c!bI>6Ycoen@blxmMjXJJv?V{-nJ_e-qXI z&aSL&el!|W0*s_EwclJI5lu_7`~&a!&{~1PVhpB|BG>`oMI&Ql z{nOLQU_fo*3uw53_CB?=yoUVYdCV;b`4T4e{ohR;4YCRJdcbhj_ww?0$ zm*1znCR)0ah$z{|E!;Szk->J6ya{Eh(?mLJqk2;^4MaWc-q`u`y{T}kW~C3iplRm& zj~}a<;R36RZbuuzEKRJY-`e~@8rH>-HV-qeT+I`WkV}|2q)fJzbFlH5qd2R@-*?wt zj5jMplkevz1_$k3OY^bVvj|({VXcy%Y`BfE<9j~`K`_Epk_X#K<#igZwKIl!#jN>R zRu&U%X%)0|ZA8lmy!|)Pz`e8;`^>l2JBqJwv+HNyJT7&(&Dh_6nIUbt9++hz=7SaY z5(N5d0esiD&gEVG+pc&}EBL3uAUo;k>qGhW-^wDWJXbF`5`ih$phMrcwUnTnxKK+W zcP@@Z)T;+XMCY80JMnUPu88j(X--nnfsP<^4MQd|f{CMN+spIXpQA5vgcUi%Hfj|> zQgH+N7NE^QUJn;|EDgucVYY_SyXNNRem_ITE|?;zN>`Ln2)#{MC%+qvor(Fn z|3hY_Y-UdN-d;4{g)82D%V*QWkdeN~gD68`u6r!Hg(0`!1_g!9;jGE)>=>Yvq5W_A zULTT08Ma*d4@Qwx&qxhYRO(65YHtMX6i@z;(>yJ?KvIU9(b0H9{fk-DZ>uqXjmGYE z4*<}M53wW$WdP8ikhZ;T@}8u_bfNC~-=mKk1sW%w5Pus7+vNh$Ir+Y!P(VJOj?a@A zY{Zp{%SVbdA=|G zj&sCzDrl_$#llmu&!H-z%q7$xjOf=5-VZ8GvuQne(fFk@OhqOGx0DVlVW2Hab$AUP z+6Q)iw6tW<8YC{8!@hkU;f^164~OQKxc?KjK{J7~kmSmvDYD2W9{=e~Tfmj|xt1Ki zBr~y3A&2$px0Y-}ueQ=Kvze9gPbLBxUs_SlYOQ5Grt6#wl0YT<30;+4jq22eJ8SQ! zK@k{M5KRF|+*;y0DVnS31@BJksn_DMRU=3>wVS1L0(Vjs%k5S&2o>r5NElRXVKIq` zB|)E9tNpQhrI{G4pvLkhf<-_}*v#>oEdH&=&Rt)O@ZZ-g0z~rxD;3pcCQ}4$5B$zm zqP}fb=9*FYGoK#FnF~t8c9V07Ys;8GU`Vo14EE`j2jJ$e0OQ<`33D;;G_8Q`AOW_y zIm2vYcL5#46NOpZ&?{wj#M(W}Y@MzrwA60nw(kooJ_r(6px+5}@x6TYDxjo<#j5Fs z8lHRI^x^Pc)}vsc5nhlF29JI?GaFNj5S}$J{dSGpu;V3QCl#*IWa29lrn{&6kM5t< zxaPTsllQayjM}pZIltYj$Tqhz6(7^R;60wJpf3x;f8p!NsPhGOHuA-FT4LXfUNGS1!|JrksjNqiTI8C*7zs zgrGl-f3BVUhxp3=&n7r!D;U$9mHIoyU;4rtZtEc5l6$Sw> z2CnCt?ynh?a9^Y7bph`PE#G&BS~0yapRaiv&)jqRZQwW;J)HS@3FbwY*W%v@yQ1~G z*eGA^t}cwqUutMp%!USMlSc?8I;QuR+Kta@R2ZJ3an9@2bRN4fH}&VKl#0?^pOoHR znN39-YjC;RZSeIsNm%GO+4}~1eya*k+$es}ayX$keMG${qSR8uLFE8x8w69ifG&kZ&abba zHM{ojFGKL(`hbQ7Hn&T2f&1eR3SG4H8nW!p&ZJy5Eh|~2_J#CD9Ff_a4Ftrv@Gb32 zm(kJ2v|dnuhVE_VAjJOuJ`VX4J-wEp6E$-PsHg^UMkE_HZ7~J=6&*Xsa9Z`1pogf+ zahE_>St&MgfvA@QByN8&8w*&Y;bt!{5RpEMiRpoE6lga~t=(1<&nG?f6_S-lHM3B! zE#gXvzkZKn7384OK`d6+=0p^xqmxE^B%McuJHF5zXI)^#+Ol(>9lFV9i#?CU=c{N% z^0jb)=bE>F2W5&`DD)kDS)O)@Z5l%1oWh(4g>15bI+a{Ff@!4_J4XTq`H*F=Z~q^*~XeC*Z6N-u|%$S z)@kwO|4<`Yc%55&lctiRP=xV*qFgn)h<&+BlpKOhcrGs?XGri`L)o>_90^ZJn96Y& z>s{V~_4cKX!(%v}-V+P8+qUfXFhPq?Ulvpt+b$8;%Nmp7nZ&vE9A3sB8XpJFRG6;AHB*MFT<7 zAg94j(HuBy5Kf4sgsdv_r0#x6v3Z962!DpqdMx<5M#P_thpj)HbqYHIRwpfY@P%)H zwv~_It{#c*&~qgPz$7^EG-^F?7&nGS7KA5J0_H+J$xLwcd?+%~-R^nxADID}z5&Mj z%f(8?rzB;JWP!NVYY5Dc?giZD`Q)CctzRjHp|~YHDy=7%p18QU$d{LsACF*Qjq*1= zb0!PYDdK!}oI6Obdg1Qv6d~&(TOUlyDZIT8%vAUmOT%t@LdO?WvkL7eB#;=R=f9~Z z@l*;~AVHLD?H(};6Edo-bj0ZI-$@^0PJcWQM>Ws(gy$?!^~(7%yrU>waV4tc1oG0- z4`2bHpIW@Zvpa$u7x}a5OBxmDZMO+UM$>e{G1f1&gl@9hHy+Z=F5?tTW4>4MB-u_C znC|loTxBz$rgQGdJ#HB~xc`FVI1f#`H7*E1P^B%~Q?iM|(Vn6&;ql3EDDZ&UyusU6 zJS7{K#FZq9#&5R1FlRF~3}=M_IA&?%I=YpfE?q6pzoP<2 z`OOh#GE9%}&LZNAqOy!SrrxMC z&0sO_Cs0CuoeQhCm1Zr!gxR{xEzVbAj(L0pKc!L>H_0{%z?3X5yucIX*O1m;z2XnT z4IWCEr!j@4lYqnI>Um;S^RHA3!UMHlDKqU87GCHL0&InN{WK# zA9!I2x2ofsk&X5Hp19inggh;Lc+)b{QC?Q#tfkY$I5avwAyImd>(I0(vAGwoKmY)H zP<>x>zqwfepDLetDk{8$D1|w6d;8A`^P3=xoa8sG?shc4)97wI;Y6|^GS9urziOG? z)J7&G^%xg~_o6GOYF32vPWp2Y%cDRidgV`uS9dKB_wnq4)U$-z zLrR+-T>PK1vQYb&CfSy7D$8oziyW8D+|`<2 zUHs%Wp^;zYi@5)7S%2|2HXrdovwHXLduxlqyJoe9Z2ubml=?}KRfJ%jA5 zJ6Et9;XP1Zs)DDTiIL$he>d_)HE~%5{!@Tij;yxwj^Mam#qt&2_zhq#=3b2L7YPZ; zmHFQ-m=NAyHmJ)NFFb27%WcM+lY}&=C^ALOfB$iUri3JY0lynQ0&x;L9nr8d){H_n z&)y|{1pTycPtuIIxVKduw)qOsaYqg+DM5Yk&q*N%S9P^}xE{*jA-zXYG!@mM@?0pt zZ);9mR;HYN-JYnGcs)nuiauw2F9pmO?UIJ+ekQ)B?tz;J!#QGIv-+*SK@<6(>z6pT z(*zr?(lLs1NIy^G6nwT6xZ7t39o9Au4pj8?KZ-P}<90pIwuVG=#%w^lud?O0U(So1 zA*#?olzgQ&R{ZO>vo0BTH&@7pnN)?W9Hwyz4$|BkI*`J5KY@o{I$xZ} zfVW(7vg=+QKN00rAcQ&mf=xm9;fWDDzSII7<>6v#rq+%IGzOpVP6VHA z1wUny;Nf+FHu>%O+SRdqePLRTEz3$#z+Nl!yWA@glO-e)Z^pH!AKSIlAOs(EkL!1G1{M@pej z&P7f3$kD_z{pJftJkP5|tfqY`2Yc!oxR2p-@jE21jehYoyYT!@tCBQtGgAA%)~{r= zwMn73jY1)d8Gv6f3Q@-C`%4zU>>Z(O%}KC1UsPqVWt7+IBfA=yk`qj^c4Us)@<*wQ zE7`Va--e?Z;|+YC)@#A=Z|AnmHfot@>ABA>!{1w9Dw2I>SSqzwoFX_~K1T;BV1ENF zI+IeohKB9h{sSz55GJ}PI6~oda<6-U={xM7DQOjuw z3(W35pNXRc!FPINj7k6R9mFqRiiey>_AWq01T+n2zd3@Kj#7f=Byj8PW6%&_8vfHJ zB^NYbkT;{iIhSvxZ+GZ@P@xD>x!RR2S~oafROU3rJM5}V;aj{})1A>D-dQfjn9w_5 z5TkD`3tV08vzgL(yh=lT5K!2Hcs@t)tW;I~O(V3=r^@wQAQyw(Dv0<{uLn+cqnP3!p8u-|$Ut08>z!PZB%;JiST3(O z)3>whEHCC|fp2zujP7WmkS z8lSZ*zv}da7V@ogZ5bUiz23NSIu25pK)|-%;kJU6k1Swe0Bc-Bk%ySqOD^4lC`+%fe zHg`8G<-a)@HP^n)=wnx77yDcedFF3laQHNl6`Vb}!*o3|&pj0N{1ja7PB*h}Nrffhx-sdeq>C>&fh5EFw;eWawKdPz*|-ggjACMXSVPXV5@V`Su|sHiCPZa^HP znonjXMOXL|4?|~12b`7FQL=QKq$Z!AdYft} zrr|E9Fs%5S426>3!Otb7Hyhd{>U@X~%|13=%RQCDYn+I|RYjYQ{!CIEMg?gM;090r zQqQ7)^4r>;9>pVtZ9lbY|B3l9nmf`s?77!bb?(S#*t_4H$P;p6C>L$9}QjCKykE~qNo-Hiets+?)V z;+{6l*K&@}*4Ug1a2T5yIUV;^jrtQ>Q@HK8oR42;ehLNGQhmVk5I%#NbV0@hjJD6^tOomI`v^0AMwmUGbi-2D)i1FxDWr5 zh^PycKTD%U*2!0kqW@3dTtenfGURN}|i@0kO@#Hb#W~ZirQ$S&t;_at@)DU3J(r zQ+pTGqVWX_yda=e6a8^+`SmkV3zV?L#Vt`?%(#0aP(qKCMYaq_^g?)&9Cu#qCuq@; zt7kQ&?CEqrPs&XP>gi;hj5cbTB~WEW28!XwCnw~boJzY^=Bk>u@Ffp*;SQqF&vNmW zTjw4$tTh&PJC!uN-GpCOEgr2UlW zRfdhm!VpANyaJrYGo8&NrCY_0E5{iFkA98Rnxk{mC1n7I^>q#h4rT+X=V zAsXJ?S6xREk@r%}FZo)LeH{W6Oxw~}B52Kb-Yysjxif{tvy}%o>Gu=u9=jRk^VCHq z8&)OsQ8JJ`_NJGNxtQ;`6>_2q}Hp397tC%>jRz_nreJ zF>lv+3a>!>3#?gbo-c|fx5~A9&5s&)WaW*isrk2g?m=j|ZL4M%uh*WNrx=wV7b;K2 z?pZL_HT{k|IZVuUlp=kEy=18}cUK1ZSg!&U_(0>J!N#;D>W_T1mNt@{os$tl&)GCt z=hm`Jc0N{(he)n^i35SsPhS_6)^P84-*;{GIqE#!T3dO_ooo(`zs!i**Z5uKWSpWx z!SShBzLHbPTc;)o2Yq=7k%!NC#G0|Q=i>IyS@hT7W(zd{WFH%nu1O}v4&F1cAkb{T z6-r&Y&hu~}W9iQx8h?uRbQtGw{g#ovi-OUT{*;p>^+V&cEroencs=&fxmD{><}Xv6 z^^T1K?uHs`3@aw4U-e~HwC7LqsY|y?I|BCubf!-iBr;B(xdQgR`8^B6J8%wC=l@Q6@($q-}!q?zKT^gG)G#hc#r1hU@gaQL9ZUN z_=jvf#4iO^^)Aiy%b!mw%(;ha8CZ2hOYx~snMo2xnl+w&D)ZnjwjSio-~5xiid5&a z_*vUWfCu~O&9069YEKE?$Md1|boJvHB5_Eeb&j8Ai0Oc2_0;3X=!23HV{-IQ!h6HV zujijFU){4ID>r66dd!U-A2;O7bsbw-kop@t2^W2q5dESC_km+7*{J>`7G;Vz#>q{L zM5!>BsEchs!GizkC~0=~>h&G+xC!jQ?UH+HCd&L7U54+%nR&gCDHZt7H>PoE5co6e zr?#>d&8|0-B``|ObzasV)HUb-u&fwc$@v+f5JsMwUFFu4A8TW)qS4II*81`=8E%nt zWmWFl;rv3InE-EP&TWG1Q!4B{r^rCTD6itR3g){)BcchJ%~>igD<3uKK5b?8O&|5# zO#N)EMKKb?@l*4H$`7VmeCWJQa$83Uiq0d}CT`zdEl z6@lWvG#m7eWrmB_$^ZO9wzjTYjI8}7p&iemTf6x>w@XlzxILiIIk#)rI_CEL;EOCwG7EgWtHKbd=wBIRjPDX zd(*)72vYeQz{x@2^#3lj+rZt$wrrGlK`d1Pc?)A7v%#0zFkKmLyMBN=)hHU`;p?eUf7TpUTcV zp6kE=_ex1giXuA+5y_SriR|o6viBytLX?&4U1ZDNdt{UN*n982xAS~=UBBygopXNU zobP{M^!dEU>-Bo>`@<#vh<7WPN0Lo6^QAMEq@4Tt9Pf`MS3lPpMTu8lZS1Uj&;hF5 z4;|ByPYXz42#3>dla6xEbY9h-Vmz;`BDJi0PTfn7G0j46-K+LowFU<#Es^e+AY1bQCcJ&HE#^u!INDM>Omj0nYmw1fS)#(0`) zmPxn*#mWZ%=lBB+89p|OC0e_)^-sy??x^P1uf$)mlx6U}T07g=a4F36zfsij4qNWg z84oNX(WJx-u@SM1{^9i8Nw4QQ=3<9&+>A$Wf5aqpAS zjc?D)*6jq)2`nD)jL0+!8tI7GR0c0qk@Xbp>~~0b#eb~d41Fhs&FW8PQ~AYlT~PTX zgy^zd3fA=#GWCx0LzS>j3&?YY=JKxLdgz-|aQD~zS$IM{hPtj{^|LKoLs3+!+l{kW z>6FL)rnT?Gdpnq~I*QVJOD7FVxYh}k4+6aXbPrf@ndQFiJ6jIRB_AkwrAEM#`$;9A5p1VpnYXraYDbx!Udr_hK`_r>> z#xt!@A9f&l@_e`DsCYU<;l0(~ox z&RjIeF_Tv7+Neuoq_rvH=oiBypCI>TVi^7aRHw<>nnwUbRh`=uFTPVTh+DrA{mVq=c=C{J;OwXR1WCH7-;vR zu6I$HLRTKfHo0O4TBTr*teU^#i}5p4dYAKeOHnIo#AGU$&ahhvOrE~9mb)%${;S=N z=2{tnG;vQCG#abX(Q+?p zW~0TGh)Sj#23L5;dC6WJbM?}#U$x2aEm-~FNwaozSirLM#6cQwKlNrpf*Vot=Y{f9 zB|CzuuCoTZ3(Xz!yZShtjHg#hpQ>{v5XrBpd^;m&N!Qfs{Z-)d(qFq&#+*IVjl0_X zrJQK(J3>A20cJUEMe<&>TqpEG))~#Z@i0H%bp3~qBuPm>-&H=Ef8#N*uf!L=82ovA zbW943`d7(0Xxzx|NS@ZvaoRugNdRxNP#AOhQvLR_5i9oD;Z5-1R}BB)tsM{DZ%9gd z(=126mAfsUUmcTisI<_N^~*=VxLtI~s4&ykJiDxHH!)qu!BIHqN30i=&MAw&%RHIs zpTf!r_gCT$`k+>WcOH?fxHx51m>Cg$^_0)M&!cy?R3$yDsbmD7SJ>{^V`+n}%tz_@ z$GO$L%oDuv&z42#$edxL&_Y9F-9r|dKyL$6eVE}WJQ-2mvAuG!vX$wFET(ga%k|_J zA3XBY%LP*S?(UzZW>v2mEgXie`mHpJd83Q>+=?wBCc4e#n0h8%8fhFk8z+s$n9AV0 zeMJGUqFvt5#lbCnLr^oN&1%C)tq^N5=tZ(wYN;FD$!Xb8AHP#HoxSFhyHgyqf$E2t zLpQPqY-VOt_kXRO%%v1pCx3JbE7(zz`p2`iO7vCAD_QsT|D{nO<{QP=?morNqy8gR z36m8&nN^|VVC|Tw$nEk~wJrX;{GLUDDqMA2;-8cnPRi$NlctyQj+p+ev!GVdJ`bbW ztb0|M8gk&SolNxMoW_%TSMm#tu05F{K=EYDXg+SQ(AcF*AJ$;-(h5K)Ab)FVe`s%e zM;O&p;ZdC!ph@=^k}a08GgNC4F%Ot z&OJ7UhaK3i^{@W~-W(X%=`3_~a;qlCjv7f^dK)9*{Gft9ete5SUEUEUcG^jX@RewI zGjOyfdbRds8m!$Yt{IRtyu;{Ss+)eaN|SpbwB55vZn)u*4sDW(doS@7`75)d+r5sG zayDaVsyxb1KVd(6DZaog6^rBlAt-|m{zY%%GL%6Hw}Nc%KGDGZCTYgc z=a$NrST$UGVs=%2-*&D+GjvDf8KzoS4$gt6;4{iy$%-Gb{8Nfu(ix;`(aE*hi3&CX z9cVQD=|V^meE+cA-&-HOM=G~LZ%8_D;Jn-}~Qcb$!qeysezBNzy!`RiF7`t*j*VZ;U+(n`g<6#=dE5eq%kejnR zmd8UC0~xo_g5CIQ7|VZ$SmIEu#5`cXlhU7|qBa@Zd+jhrHo z;x-wj9Wt6W0w&RrpbkbAicOzE%k)V@2FzX++TJbd?7EEMmJ&twA?iINt+>Joq|S=5$SS0g735? zhv_nxp@OP;xh3O~&@Bk|CER~t!;H6RX;l3e6}6|q)*ap2SGC!%hG$vKYFOR-lzsM8 zyVlV2Auo(@Km1spPdR?wLx@k3g;C20D=a}%v+sdEmY9dB>29qA2s`WqU{Klj|_80~U zR5_U`KEtrr&7@cL{r;ttL(|J^zt%i&#~qnp87#$sM{=NpmpP zq6!ZOW7r6f<2lwcOibTQlIQ>9Yw@wL9vT-RIY79NGQW;Nn{#`Qw)30SQ685yo@xiS zgMkPiImxH;eDr83^%y-X8g(gM4u8ho4$@3MD8447!3u4VL=+T)VohGR zex_WJdN~;ssrE_ycaH7LDJ|qJlN=SMw=BCVq;%nglTUgxY~lyJ#6&UU<9RFERL_>3 zkM(-`ywd7swsAZ6{k%Df5pO<*c^7z&DD58SFW%u)q`7xoi`djQ!cI%4uUG_j(ah4;G`t zA2`;Ggzaz)q#hVNSvrp0Id@59<;G+G`C6qldt(OUn_A+txE6k=r*2(ibW91lv$fmm zZ7qrRY!0ekN6^R4q<=Z_RHVdM$Y0We^i-yiy=VqRm>r8pm=7h}mL z^=N#KsccT9^aF7hX%J4T`~p-BJBc{PHw&f~>}T=#6qjRT z46^uJ3KY5*P$RIc>aN4GVv_VY*e?BD;h=>DSUd!bL4d!azrdkZ8f7;ABBHM7c7IJa zCs%9$4w=tA`s)3*)OCk1*1dc%hrCDq=Fh$RJ>fY^WK?5kwME}0O4QhnP7E7v>05BB z3{re1hP~xU_;(T}i`}HrZvNbfqi$3Md(s6qOj^S&#l#W}H>yp0yD8t=pc1adL6<39 z2iLr~*v)WB(u6@m2hlsl4|XjA?b7SFnXu6!4u&t_uW@S7=6+IxO1$UglBe7ow#7#- z=WlQGnMq>Jy4qi?WGB{m z2C}+sB{?LLD09P!dBwFR=`_Ub5HvBsKAoKFt_00FXr>8;^9rp0^6pyGoFU_Crx<#?4vIQTp)ej1EZlQ~g>@ITI4-ZJCQ{^H(j8r3e zmhh%p&{eGsd|&5nU+39ey}?c<&93*)JG$n1?7V@J>*~SYn1IPa9JkU>rv`Eiq+zKa z{J4_@D>SUEY*RO;7j3yd3VCnCvi4N8K?b=;_+2UUIbsSv>80z;XItK5!WO9v;Op>c zJLQBC9l0w-$Pxxy%VgTe9<~-lmEHZsE1 z>M&XTwC)?eo%Di%+|51NrdDzDQ#I+t;<|(C={Hdw3ajvs7r;;|E#!hpMw+BuqcSKt zb>>!ee>ZaC3DKS*rYZ9!Fm2rKIue`JpSmaA+7i|A#~^kiCpNhBg+=v<-J#`try`Z_5GCk76yY=Heol!YmBslB9C97#`!r<>d2i`fjOX{F{FgMC`VV@>WcDNu3DE=sABA&->1 zU#~W}t7pS%R@WNilz+GxB5`^y2ead}wg<`jQ?pYqi-j+Q9;qXzmi7VJb9Jea=D>?cTs}=n4V22h(ykkCV)0Gie8BZ>oyGjvMaW*l-&ip4Hvh3G`Wg~u)W_);w!(-0tW&?XgiFCi z+(i^gU~fMRoro>@QtPT^I`gNrK+Ij!8S%B)pMmRIM~dwTdmYVXxAUs-c~1W8;jGF7 zE47P@Dy7KAYZIZopiJWY5#3-mu;Quuy2MI=R0_-S_OT-;i;bb$SVi$u#Ilh}CinNa zxAW!Qo1KUvqc_9eXExkX@%RZJv%@ z-a2z-=vtl#tejui>{1;&Fykl49ypUo=kaLFJc&xU6}xov){^+R4-u^T@|7=Mi5Wz6 z&MERn0HYlj)?tz*#=D$!0x%1k@eR944G1tl97`(naNJF0iG5b`uHTS7O;+r&MP`k)OBb zxST(QA>ohl<#_0-{TC-1;{0KfY_l^6%aoIPb?K3s%jM+v(WzoTjc zhox=iX_g1{K3<(}w8C;I!mRD8Js}U~TT3Su>P!~UohN#G~S>e9MmHNcEqh5&=f z;nwMNF_VLkb5#EhH6?donmc*Y@^MCF<>Z6G(xQGwojE7Fp1GjmI!hZxwi|^Rjz##9 z=kCJDy?0cJ+)QS#Opxgo0G-0&_^l~~?Ids6uj2uF`4l6ZqwY@ZHV8h2=!O+P>#bNO5Ua!I)!wxZu^tJ*$04R8xQ#rxm73D7&Z zdZj6D9QOtqm)OsbFu_ z&Fc5JfRC96_k8415dfG<_Qm7l#xZuM%0u7ub4l2AE)vhj7RN7wT>?)o>3p7;(`xc_ z((`;{u8unQ-Gqb$!~QH%;H{$9ynb?%h^UpNlcyerxYg5}3{lD04x@Gi(6z7ssaWz~ zm~cR&Ke}Chvv0xJ{_(h}kIqrl^pAP>dK0Y_B4}NgAjWdXV`zutbMdH_2%fP!&v0Zi zoB8Sa7X1AvpK|@-4!!33aL6R-vhqFI<1i-%Zy$~@^qg~l&9@OHl-aaMEIUB1Gl-wE zWU*#USjW9zRMRw?CK%{U^(efVL+MMXNi(D29@C2w>U@SZTxs`eB({Ucur=v%YsXl> zEca$#7Njchd98zEV>@7i+~?CL+7gNEejp3i!+Q~{s7^LQ=&|r}P)Xw9f)@V*Dp9ON zLgb2+x#G{4f8%K^O|7IFEVqbXKX9Rxb}5gopYLWMos#sEJm%`l)-;5f0|zHQ;f~2e z+g_#&<1PzEKXIP3xZjGg1MkwWMx6_>GVU3BLV(!K`)TLwfSg@1XThc6y^ZcHQR?!# zK>qzP->{y?6-452vK((1!vfrz86mAGUU?;e61R$d5ga`;qYKC;%xl-m7PkNc^*i>F z)2r9U#&kfZDO@Bgn0sMn9aNGH2l9~obGuRZf#r6RXeb2ca)eT9u_##{9lB! z)6Sn5HtL@Zx&NMWzl~zCxfZp@JCSonz29biO5@p&rGFhvj!Tw z>@OhvxI0?O#~--#3>aQWP|s?Eb*@nnUSLgK-KZh!N@=Y8qf^@Gl2iHCY4by}Hh!nW zhNx-8U_Txbi1^xIV%}O0lxJuJ0VH7~j7fDs@0<#NjlLI?{u`Tp8{?6uSMP@1^yx9> z!Sdl_fTG;31ZSB7hP)sAuWcdGgB#y^0rV`}z3!_?U`=lE;-$y^PVhR<587en}wB2;)?nWFHU+-n5GBKP`(p>u;P%&D4c{{$upX-b) zM!ItfOwb0*JtawfI3IBcQ1=i<-LwD`sA&Bw*-Ban+l>?zg#4vs$4u>F^ntc`MX$xZ zCs+PUMnX@Z&Xc>%tzVy83x)_wYH?^TjYddLJ8#sUG9c~xP`Ttc=kFMe&ze7DWZxQI z%b$^#CBKze7qu5E1Wlq=7?8QR+0H?M+Zxc&6T1f^D zQ`=rVrGBd_||5xfA} z0H5zX;so#lpt@#Y;P1`aNGZ=&GbMl*0H^>o51v2lA>)m_%h&hsCghQHM~XaR}Vz@Qh$|*vst}owoNA!f*h; z;-^&*4yo(M*2g=gJqXw5lJfaidF={~*n_REm+<)Ry1H@9gF!4PAGFca-kj0@Z@X(M z#!4PRS5Zp5TNF@1y8yQBc6Mk`b-cz+=6+%Y&@aIO)>tVKU1c^tATbbYR>c}Pv(}8G zytWrrPS)2cZCxDhbasw6oaHC0(0Luj1by-R8^7Vj2OJ) zbT!_&0H1^?Zx$G8?{XMIk_@jG|IpV>xth029zk55x1x^jz9OmnJDJnIAq8z><(t7# zqFG6$)vHa1$6ieQD>Kk#4p(9S6Z{PO(HGMmT_C-<+1~x@?n{oXJ`DoQ2({ z;+h>>7{mcGnPG)4P_|}pjk*#XYcSDL%1swC5t0mR57Il#3Bh6kV_Np9-59irm#?yy zVOP*2EjDWXQ|q}Ji{oX~7})w|oTAl6#Apl3_z^0Jl2=z^oaZ8#%V`%Fj8w&^|H-5o}V{n5eiDkmqUqU@E{*gVGwmNbPX-}Un z9PUiAr>6*Ky$>2UXSDlZql2mf$2}^u#A?H=5D=4%;9uy^S}+pm1-~}nP7-UYZwMlA zW}EZ4a^KR9&XxP3+7Hy?LVr57d*Ev8J9f4%R;d34#L4yLEqyud&HQ^Kcm^W8D2&3% z0Ak!2cd?*}k)DEVNy*>_1l?2;=Z_XqwddJBK)B%2e>SH4E*NOIli0Nh}KMNL&U@{ z)~oj+z2@_D__Ktiy<(1$mgtTXDdWER#hQIJsli$8y;f^3_vDc93`&UF@dJb-g2BHz zugt#+8vq&Zlg*xmT;u+ew{!SYUs>o$H31$EZ;}HZ0Hk-HO9a<^xMWbDtA-cz*DFP( zW4zbQ3dI#q!8qG7BzY+n*Qk?U%wjJ;lyW`7Dng)gq$~~3JfQM z+s-iL4pN^Gh+L_9D@4T^`4odJI^W;FN#TQzDa_zk@kD&PUH4=?(Ep2xBc>@x4 z5fio+x4+@W3=SV0Ka&+emg1xR)DC~3d?HcvT~s9>+=BQ%b@#Tr$syaGpT=$RsP0`o z+Cf^X+t3%}8dRu!WNL69>ME6C_0!|#^Q%c$O!XthV6}U;q+X)=YJPb2H~hSMtRP#U zA$l*AEzGKtXmfcXfc5I;+*U71Tr_!GvqiDZV>VP~u5!NT2eS$58Q~H7f+%iCF=^z) z@aT++Myn)4IvZ1477U?;`-83I8^4lGhm;gMOpbDNB}C3_M4rcx*q*p<@Hm`Uz#7XB zWXQhr-H7OFc+#Bk?T$g2P7?=?SqRY0jQ@FQ$n48(V$hC>f``=ZspL>WHV+&xJg7v0 zTJ61^cJ;IMdEV=hkgTclQVjDY98~Z4{X9huuh#3KShjv`F}+;nc9TGcMsl~2!b*nt zzY(A{N*nw^RVUcsPXyE($RG1dC}v&2F}R|+go+SJsH3;HZIQKa)Y7k+Cx%Lq9_oM$ z@XrJ9!1Am!aLfN0`)+5Zm5gotTynfsI^Z8fXaMnj_Rwr#twago?$zqG z`R|0$Pwl#jh{Hoedxm}T=u9J*eh2oej4}f|SI~zpEui`e;&6$cMoq4*)bs_1FKlme zflh;#p0O1!WIAbtRBqGD^={?1>e0bkxv3DQnXU8EmJ`{vsa(A!QL#<#1nYXgVpe0M zi_b|Fx@)B6g$&so+?>+U1MTF?)2fc{SlxQBWnY&cJkH3xQyJcnH!}2{_HF>K{JJNVopzX07a%kO5P2>!8$ZE6D;p$?o zX8aBLXlB@#Y5mr)tCM`f^=P&4S4LglZo+PpNBnj;Y4Cl4gb7L=0*S8~-3Uj6pwdIo zp1Q=c8y`KVH|P<=gZ?S)P{dqUMJ%GmzfB(UnT;KTwQq8f4R-S!360dVg->?muOPuV zJ6o^-OYugd#c@k}?ntqW99Oh8wg<-J0H=!;>hz=mIe3kF=?hN13`E|@jmmg7Kj9DK z8;-1%DMYjzNF3bD;wn?*7)Vqa8pd<5)l)K5PhCAvp`d_C@p*D`su>!0H##=#FFBQ3 zuAJOCa<6(Xtw=`IFIH3;=DiYvy9d3ffJyRN^S^kA#0|a7p6VWrA$LSdERLw9)Jxth z{%K8modU?azw>GUz?zw#Y%hSc-{$k5V5M}ya3ewZ>~W_GR{=8%`$h&8OOhukvT-O{ zA%E4Ctsr^k^c^d9={Oi*E$ukv1Fv<;)8Oe0upnjTUvgmP<}uD-W9STI{sbpNe=$ca1ft=PjC7{&tQ&ZH zNX^VM6%9GaTv)%t<3fsdJIgZkC@G3v;`%vU%9*12lg>$`hOe$ROSB<&7D1 zrVhPjQ=~S^LuWKWvl5HEV(mA(=)95OLsY1f3_5M$LIGdEK5N&{_zC{)HYr-|Y^b#e z`iT9hNXE(kSX|#L+PPFuaL_4T4mg&u8(1C!(>r>0Gs4E^o|S(uicYkA!x)Y)T$(GS zh~$7t_1be3ee}eGB!jQ91~oF-l)svK6LK+SRQ~b7JwIjc!I~A$_5h0C_E=s$zCX=b zg6h}w$>ooU9xj(Kj~}d?!V}hYD7>z{^$s6RLd!X(v!5hi8Ct5uAF7 zHPeeV$89%Q9JXnFe+Av!Wly+<*f5HAUET099vf#@H0qPGK+$T_hsxB<;U8jUyQhT* znEpN_KLpUBOP6%ZFR&@|D0)tg{FJ~ zNY)=6GVA{=SoV=sTGoG6z;!2=U~c)UP&d1bsp}Q2ESbi!`W0efXa7$?Y`&v!^ zL<|!n?R)4Oi|INQ$MfIc;Khjl(~5aSRmr}hUjZ&1JjBGf1=+w)uF)4aX8CC%c8=fQ z$0M1RiN43E1X<5^{KT7K@VWpVnxjp+ydiatkLHq35uoHg=v`}R@_|xZ7Lk2{b!0m7 zEp@2E-Cf+4>%dK%hw-$+yTYA{Glen3Y$BOt9#T1fcfd-GhuQN;uADpIRPe8IcDTFw zQE_y>vaE#TLgCZj3!*{F|0$5jkjb77AIL{0O=3U)Fz8$kYkmObadUHnQM%jC&af-QKq{hc-eY*;ALU(PNV5TX7B+YKZNRku zH=y-X5KVXsQzR-NS^-K*_W@-MGELTV?Sw2MfM@MXGsu5kMbwQCE@m6fgH1?y#YhH4 z5zE*u6ny34SIGM}?ZPK_uX}#{xYf?mxv|y882bGT%}kh$|>yMdsIc56!wLIR*y@ zff(-*5fSmB4In$9equUQkR~5!wY#KXZEc+j`RDKb(s4Y57KIJ-v?zBOR0YO_v_6fq?;x zF{zYV>(%OEc)SN#IxZ=x#>^=q{59sXEeY6hVaURF+)9UkL1F3%%uj@$`akIvGNZwi zE*T!R#020g@A2?dd}D7yq3}SG$oG^CA>roS_$S`d3yUBE{W0UA0L~lRIIH!Ee(3o*;sl z$&`Qf1vDg@}ZQFm^mdWNre;9^biaQ+q5ZX^|+I+ZVlpj zH=e-?@S=qEMIoe;l#+sA^Ho}i)h7KV{Q;UL%cq2i1G>q}J?T+Gtd z1rY8v#Y!~E|E#Ra6x7Lg><8kB>KYoKK7W1#l(VoKEmPD|F+K=>x2MEPN8DS_9z+#! zV9YTIly#s~<_2u3=&XKLe^42{iHrLIWEEjkk?=b8FxN(@h-PCD%+K8x-&?OMF znL0V#4!hAY1?QA7$Su?w0S^mqYlWGa*~iCcBEOUG(asT~mnhA5=m~J#e7!b&9v+?r z&_{}ljMNY4IT3R*Lvz|+b458Dg8ZAl-yh~aP_Kl`9jtI>ttJ7y}h+n0K!Cu!8FoEujRw`0qSc4Gw5MA z>eJDNKwt^$%V=J!RTqe58NA12m>-aa8Qtdt*vdS zOSODyZDexTUp6usXen`Mklnuh3*?LFZ-?3eE$$8Q2U(4Ke182BLevhyFt&pL)5g|T zp6y%3$&peUG_NXmzkUTh(1p|ojt>BSy{DT3x5v-V!uec}5bY`w5)yjSI7BBS&i%}h z%YNnM_FTt>-71i!XzcIbPaalG+LzSM#;O6`FH9^fm?tG#8O-+%*L3;>6{&o~uKQTR zCS)MOMg@pv&=lk0ZlGPVbDa7_bM1FA z2ylJ*a?@#Np%!$d(v-5}O6yrO;JR)R6N^K&38X4?L6SF9qr9(MTg8)JT;WS~HUEtp zH;UzBY5vYTn|@EtM226niP>kMt`l~n!T9bt<<=Q(EU1l6t*>k8jXek9wn^Al2D?kW zu*@?iwqR}M<>!lvik2?!Da^Xc^(@Oqfc1Yzw;2b|DjC)#z?_*Kw{-8{zkdMtmoanv z;%oFZ>;F{V1K+RxNWIkB3tk4uhrC&Ql_?y{We4iLRg0&=VPTDMLd=}X`G91j&F0jL za(5iipN(MBQHCcAXKn)U-8eMJ2?;+12csm{qv1v1k&|2WuSb8?46pmu*m!Z^)H(SH z7|P7d%=AOIT-z7_kcXdZrcHiI$xLXZ_T0ynE$Dvl@Z^mKn*75=9H zL~sq^tO~nPDGOUpYI75Ei~izhVr^ zIr+BA`o&JW#@HpZthNiUBvC!~8~vKjl33TSb%SjyfF*1Q;($e_fAnQXOl-hG`w1j? zRZtn8o0<9H<>h4rn5|4)Euw4Al4z@-CrVq=0Vi$&6jfBWx3^KC_FM=jsR_W|!?1>~ zi#ch40xfb!fY??*A>ROJtqGWugs`Y6zFG_wGGg?n)F9c#~+P zuzs2VuZU&b3h3Y<*3e4D_W$c>{AZqs51lAPflz%1O>YVzDkK!qwg(-Y=P9UB>!s21 z;-u$5!o46Oe&wELY7`hC5X*D1LFoZ*9se`@tuzvx)!m01`Md0A=I5`ZQY9kh5l*Iw zxj97ARt1DoCHKe69T*YSH*<4yL_U}%?(GL)rH|M~LqWDHQ-uZjh^to-X+sW;csMK1 z&rYoz98v^4Fc9A8L>ZvNSU}6~;>C-WHa3ayts9;ASQT+=NuNy0f26w!Z^N`%jRWZNX$8307)-{#oQUt&M<(( zD$2vdV{UTN3bnXeJl@ADi9%aVONlF6M3K0fLFLmZ#lG;%t?g z*#PyFf|r{illXD3^-=b1LiBHyM@t!(&#SCwKVulWpB<)v%6cCt#+rerl6>gpbyNTE z`}bWKtK^2uX^;#DhxX@$i>>XBWd92h5jrkIi-DXAm73D<{b2a+^YFw#bfEa~1r1Qb+LWJ588T2{~ z(T@Kk2$8j+^vvPPQ+@22iun{tq5gM)$bWV|{BNPm3BRjM(NWrKCt)=BPxOV9P?q59 G5C02N8fa4h literal 0 HcmV?d00001 diff --git a/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2768.png b/examples/nlp/img/active_learning_review_classification/active_learning_review_classification_17_2768.png new file mode 100644 index 0000000000000000000000000000000000000000..6252d9981c37869d082a01c5e1a6779adba41235 GIT binary patch literal 34443 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 Ugv)F?WcZ(gyvp%RIV11?1)h2wfB*mh literal 0 HcmV?d00001 diff --git a/examples/nlp/ipynb/active_learning_review_classification.ipynb b/examples/nlp/ipynb/active_learning_review_classification.ipynb index b3fc0a1010..5b25393f48 100644 --- a/examples/nlp/ipynb/active_learning_review_classification.ipynb +++ b/examples/nlp/ipynb/active_learning_review_classification.ipynb @@ -10,7 +10,7 @@ "\n", "**Author:** [Darshan Deshpande](https://twitter.com/getdarshan)
\n", "**Date created:** 2021/10/29
\n", - "**Last modified:** 2021/10/29
\n", + "**Last modified:** 2024/05/08
\n", "**Description:** Demonstrating the advantages of active learning through review classification." ] }, @@ -33,7 +33,7 @@ "ensure consistency in labeling of new data.\n", "\n", "The process starts with annotating a small subset of the full dataset and training an\n", - "initial model. The best model checkpoint is saved and then tested on a balanced test\n", + "initial model. The best model checkpoint is saved and then tested on\u00a0a balanced test\n", "set. The test set must be carefully sampled because the full training process will be\n", "dependent on it. Once we have the initial evaluation scores, the oracle is tasked with\n", "labeling more samples; the number of data points to be sampled is usually determined by\n", @@ -70,16 +70,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 0, "metadata": { "colab_type": "code" }, "outputs": [], "source": [ + "import os\n", + "\n", + "os.environ[\"KERAS_BACKEND\"] = \"tensorflow\" # @param [\"tensorflow\", \"jax\", \"torch\"]\n", + "import keras\n", + "from keras import ops\n", + "from keras import layers\n", "import tensorflow_datasets as tfds\n", "import tensorflow as tf\n", - "from tensorflow import keras\n", - "from tensorflow.keras import layers\n", "import matplotlib.pyplot as plt\n", "import re\n", "import string\n", @@ -102,7 +106,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 0, "metadata": { "colab_type": "code" }, @@ -133,7 +137,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 0, "metadata": { "colab_type": "code" }, @@ -229,23 +233,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 0, "metadata": { "colab_type": "code" }, "outputs": [], "source": [ - "\n", - "def custom_standardization(input_data):\n", - " lowercase = tf.strings.lower(input_data)\n", - " stripped_html = tf.strings.regex_replace(lowercase, \"
\", \" \")\n", - " return tf.strings.regex_replace(\n", - " stripped_html, f\"[{re.escape(string.punctuation)}]\", \"\"\n", - " )\n", - "\n", "\n", "vectorizer = layers.TextVectorization(\n", - " 3000, standardize=custom_standardization, output_sequence_length=150\n", + " 3000, standardize=\"lower_and_strip_punctuation\", output_sequence_length=150\n", ")\n", "# Adapting the dataset\n", "vectorizer.adapt(\n", @@ -283,12 +279,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 0, "metadata": { "colab_type": "code" }, "outputs": [], "source": [ + "\n", "# Helper function for merging new history objects with older ones\n", "def append_history(losses, val_losses, accuracy, val_accuracy, history):\n", " losses = losses + history.history[\"loss\"]\n", @@ -312,7 +309,8 @@ " plt.legend([\"train_accuracy\", \"val_accuracy\"])\n", " plt.xlabel(\"Epochs\")\n", " plt.ylabel(\"Accuracy\")\n", - " plt.show()\n" + " plt.show()\n", + "" ] }, { @@ -331,7 +329,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 0, "metadata": { "colab_type": "code" }, @@ -351,7 +349,8 @@ " ]\n", " )\n", " model.summary()\n", - " return model\n" + " return model\n", + "" ] }, { @@ -368,7 +367,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 0, "metadata": { "colab_type": "code" }, @@ -395,7 +394,7 @@ " callbacks=[\n", " keras.callbacks.EarlyStopping(patience=4, verbose=1),\n", " keras.callbacks.ModelCheckpoint(\n", - " \"FullModelCheckpoint.h5\", verbose=1, save_best_only=True\n", + " \"FullModelCheckpoint.keras\", verbose=1, save_best_only=True\n", " ),\n", " ],\n", " )\n", @@ -409,7 +408,7 @@ " )\n", "\n", " # Loading the best checkpoint\n", - " model = keras.models.load_model(\"FullModelCheckpoint.h5\")\n", + " model = keras.models.load_model(\"FullModelCheckpoint.keras\")\n", "\n", " print(\"-\" * 100)\n", " print(\n", @@ -474,7 +473,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 0, "metadata": { "colab_type": "code" }, @@ -510,7 +509,7 @@ " # Defining checkpoints.\n", " # The checkpoint callback is reused throughout the training since it only saves the best overall model.\n", " checkpoint = keras.callbacks.ModelCheckpoint(\n", - " \"AL_Model.h5\", save_best_only=True, verbose=1\n", + " \"AL_Model.keras\", save_best_only=True, verbose=1\n", " )\n", " # Here, patience is set to 4. This can be set higher if desired.\n", " early_stopping = keras.callbacks.EarlyStopping(patience=4, verbose=1)\n", @@ -534,9 +533,9 @@ " predictions = model.predict(test_dataset)\n", "\n", " # Generating labels from the output probabilities\n", - " rounded = tf.where(tf.greater(predictions, 0.5), 1, 0)\n", + " rounded = ops.where(ops.greater(predictions, 0.5), 1, 0)\n", "\n", - " # Evaluating the number of zeros and ones classified\n", + " # Evaluating the number of zeros and ones incorrrectly classified\n", " _, _, false_negatives, false_positives = model.evaluate(test_dataset, verbose=0)\n", "\n", " print(\"-\" * 100)\n", @@ -603,7 +602,7 @@ " )\n", "\n", " # Loading the best model from this training loop\n", - " model = keras.models.load_model(\"AL_Model.h5\")\n", + " model = keras.models.load_model(\"AL_Model.keras\")\n", "\n", " # Plotting the overall history and evaluating the final model\n", " plot_history(losses, val_losses, accuracies, val_accuracies)\n", @@ -682,4 +681,4 @@ }, "nbformat": 4, "nbformat_minor": 0 -} +} \ No newline at end of file diff --git a/examples/nlp/md/active_learning_review_classification.md b/examples/nlp/md/active_learning_review_classification.md index 7f6de09bdf..a0c15f1adb 100644 --- a/examples/nlp/md/active_learning_review_classification.md +++ b/examples/nlp/md/active_learning_review_classification.md @@ -2,13 +2,13 @@ **Author:** [Darshan Deshpande](https://twitter.com/getdarshan)
**Date created:** 2021/10/29
-**Last modified:** 2021/10/29
+**Last modified:** 2024/05/08
+**Description:** Demonstrating the advantages of active learning through review classification. [**View in Colab**](https://colab.research.google.com/github/keras-team/keras-io/blob/master/examples/nlp/ipynb/active_learning_review_classification.ipynb) [**GitHub source**](https://github.com/keras-team/keras-io/blob/master/examples/nlp/active_learning_review_classification.py) -**Description:** Demonstrating the advantages of active learning through review classification. --- ## Introduction @@ -54,10 +54,14 @@ Selects data points closest to the decision boundary ```python +import os + +os.environ["KERAS_BACKEND"] = "tensorflow" # @param ["tensorflow", "jax", "torch"] +import keras +from keras import ops +from keras import layers import tensorflow_datasets as tfds import tensorflow as tf -from tensorflow import keras -from tensorflow.keras import layers import matplotlib.pyplot as plt import re import string @@ -192,16 +196,8 @@ faster, we use the `map()` function with its parallelization functionality. ```python -def custom_standardization(input_data): - lowercase = tf.strings.lower(input_data) - stripped_html = tf.strings.regex_replace(lowercase, "
", " ") - return tf.strings.regex_replace( - stripped_html, f"[{re.escape(string.punctuation)}]", "" - ) - - vectorizer = layers.TextVectorization( - 3000, standardize=custom_standardization, output_sequence_length=150 + 3000, standardize="lower_and_strip_punctuation", output_sequence_length=150 ) # Adapting the dataset vectorizer.adapt( @@ -233,6 +229,7 @@ test_dataset = test_dataset.batch(256).map( ```python + # Helper function for merging new history objects with older ones def append_history(losses, val_losses, accuracy, val_accuracy, history): losses = losses + history.history["loss"] @@ -317,7 +314,7 @@ def train_full_model(full_train_dataset, val_dataset, test_dataset): callbacks=[ keras.callbacks.EarlyStopping(patience=4, verbose=1), keras.callbacks.ModelCheckpoint( - "FullModelCheckpoint.h5", verbose=1, save_best_only=True + "FullModelCheckpoint.keras", verbose=1, save_best_only=True ), ], ) @@ -331,7 +328,7 @@ def train_full_model(full_train_dataset, val_dataset, test_dataset): ) # Loading the best checkpoint - model = keras.models.load_model("FullModelCheckpoint.h5") + model = keras.models.load_model("FullModelCheckpoint.keras") print("-" * 100) print( @@ -354,90 +351,291 @@ full_train_dataset = ( full_dataset_model = train_full_model(full_train_dataset, val_dataset, test_dataset) ``` + +

Model: "sequential"
+
+ + + + +
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
+┃ Layer (type)                     Output Shape                  Param # ┃
+┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
+│ embedding (Embedding)           │ (None, 150, 128)       │       384,000 │
+├─────────────────────────────────┼────────────────────────┼───────────────┤
+│ bidirectional (Bidirectional)   │ (None, 150, 64)        │        41,216 │
+├─────────────────────────────────┼────────────────────────┼───────────────┤
+│ global_max_pooling1d            │ (None, 64)             │             0 │
+│ (GlobalMaxPooling1D)            │                        │               │
+├─────────────────────────────────┼────────────────────────┼───────────────┤
+│ dense (Dense)                   │ (None, 20)             │         1,300 │
+├─────────────────────────────────┼────────────────────────┼───────────────┤
+│ dropout (Dropout)               │ (None, 20)             │             0 │
+├─────────────────────────────────┼────────────────────────┼───────────────┤
+│ dense_1 (Dense)                 │ (None, 1)              │            21 │
+└─────────────────────────────────┴────────────────────────┴───────────────┘
+
+ + + + +
 Total params: 426,537 (1.63 MB)
+
+ + + + +
 Trainable params: 426,537 (1.63 MB)
+
+ + + + +
 Non-trainable params: 0 (0.00 B)
+
+ + +
``` -Model: "sequential" -_________________________________________________________________ - Layer (type) Output Shape Param # -================================================================= - embedding (Embedding) (None, 150, 128) 384000 - - bidirectional (Bidirectiona (None, 150, 64) 41216 - l) - - global_max_pooling1d (Globa (None, 64) 0 - lMaxPooling1D) - - dense (Dense) (None, 20) 1300 - - dropout (Dropout) (None, 20) 0 - - dense_1 (Dense) (None, 1) 21 - -================================================================= -Total params: 426,537 -Trainable params: 426,537 -Non-trainable params: 0 -_________________________________________________________________ Epoch 1/20 -156/157 [============================>.] - ETA: 0s - loss: 0.5150 - binary_accuracy: 0.7615 - false_negatives: 3314.0000 - false_positives: 6210.0000 -Epoch 00001: val_loss improved from inf to 0.47791, saving model to FullModelCheckpoint.h5 -157/157 [==============================] - 25s 103ms/step - loss: 0.5148 - binary_accuracy: 0.7617 - false_negatives: 3316.0000 - false_positives: 6217.0000 - val_loss: 0.4779 - val_binary_accuracy: 0.7858 - val_false_negatives: 970.0000 - val_false_positives: 101.0000 + +``` +
+ + 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 73ms/step - binary_accuracy: 0.6412 - false_negatives: 2084.3333 - false_positives: 5252.1924 - loss: 0.6507 + + +
+``` +Epoch 1: val_loss improved from inf to 0.57198, saving model to FullModelCheckpoint.keras + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 15s 79ms/step - binary_accuracy: 0.6411 - false_negatives: 2135.1772 - false_positives: 5292.4053 - loss: 0.6506 - val_binary_accuracy: 0.7356 - val_false_negatives: 898.0000 - val_false_positives: 424.0000 - val_loss: 0.5720 + + +
+``` Epoch 2/20 -156/157 [============================>.] - ETA: 0s - loss: 0.3659 - binary_accuracy: 0.8500 - false_negatives: 2833.0000 - false_positives: 3158.0000 -Epoch 00002: val_loss improved from 0.47791 to 0.35345, saving model to FullModelCheckpoint.h5 -157/157 [==============================] - 9s 59ms/step - loss: 0.3656 - binary_accuracy: 0.8501 - false_negatives: 2836.0000 - false_positives: 3159.0000 - val_loss: 0.3535 - val_binary_accuracy: 0.8502 - val_false_negatives: 363.0000 - val_false_positives: 386.0000 + +``` +
+ 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.7448 - false_negatives: 1756.2756 - false_positives: 3249.1411 - loss: 0.5416 + + +
+``` +Epoch 2: val_loss improved from 0.57198 to 0.41756, saving model to FullModelCheckpoint.keras + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 12s 76ms/step - binary_accuracy: 0.7450 - false_negatives: 1783.8925 - false_positives: 3279.8101 - loss: 0.5412 - val_binary_accuracy: 0.8156 - val_false_negatives: 531.0000 - val_false_positives: 391.0000 - val_loss: 0.4176 + + +
+``` Epoch 3/20 -156/157 [============================>.] - ETA: 0s - loss: 0.3319 - binary_accuracy: 0.8653 - false_negatives: 2507.0000 - false_positives: 2873.0000 -Epoch 00003: val_loss improved from 0.35345 to 0.33150, saving model to FullModelCheckpoint.h5 -157/157 [==============================] - 9s 55ms/step - loss: 0.3319 - binary_accuracy: 0.8652 - false_negatives: 2512.0000 - false_positives: 2878.0000 - val_loss: 0.3315 - val_binary_accuracy: 0.8576 - val_false_negatives: 423.0000 - val_false_positives: 289.0000 + +``` +
+ + 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8162 - false_negatives: 1539.7693 - false_positives: 2197.1475 - loss: 0.4254 + + +
+``` +Epoch 3: val_loss improved from 0.41756 to 0.38233, saving model to FullModelCheckpoint.keras + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 12s 76ms/step - binary_accuracy: 0.8161 - false_negatives: 1562.6962 - false_positives: 2221.5886 - loss: 0.4254 - val_binary_accuracy: 0.8340 - val_false_negatives: 496.0000 - val_false_positives: 334.0000 - val_loss: 0.3823 + + +
+``` Epoch 4/20 -156/157 [============================>.] - ETA: 0s - loss: 0.3130 - binary_accuracy: 0.8764 - false_negatives: 2398.0000 - false_positives: 2538.0000 -Epoch 00004: val_loss did not improve from 0.33150 -157/157 [==============================] - 9s 55ms/step - loss: 0.3129 - binary_accuracy: 0.8763 - false_negatives: 2404.0000 - false_positives: 2542.0000 - val_loss: 0.3328 - val_binary_accuracy: 0.8586 - val_false_negatives: 263.0000 - val_false_positives: 444.0000 + +``` +
+ 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8413 - false_negatives: 1400.6538 - false_positives: 1818.7372 - loss: 0.3837 + + +
+``` +Epoch 4: val_loss improved from 0.38233 to 0.36235, saving model to FullModelCheckpoint.keras + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 12s 76ms/step - binary_accuracy: 0.8412 - false_negatives: 1421.5063 - false_positives: 1839.3102 - loss: 0.3838 - val_binary_accuracy: 0.8396 - val_false_negatives: 548.0000 - val_false_positives: 254.0000 - val_loss: 0.3623 + + +
+``` Epoch 5/20 -156/157 [============================>.] - ETA: 0s - loss: 0.2918 - binary_accuracy: 0.8867 - false_negatives: 2141.0000 - false_positives: 2385.0000 -Epoch 00005: val_loss did not improve from 0.33150 -157/157 [==============================] - 9s 55ms/step - loss: 0.2917 - binary_accuracy: 0.8867 - false_negatives: 2143.0000 - false_positives: 2388.0000 - val_loss: 0.3762 - val_binary_accuracy: 0.8468 - val_false_negatives: 476.0000 - val_false_positives: 290.0000 + +``` +
+ + 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8611 - false_negatives: 1264.5256 - false_positives: 1573.5962 - loss: 0.3468 + + +
+``` +Epoch 5: val_loss did not improve from 0.36235 + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 12s 75ms/step - binary_accuracy: 0.8611 - false_negatives: 1283.0632 - false_positives: 1592.3228 - loss: 0.3468 - val_binary_accuracy: 0.8222 - val_false_negatives: 734.0000 - val_false_positives: 155.0000 - val_loss: 0.4081 + + +
+``` Epoch 6/20 -156/157 [============================>.] - ETA: 0s - loss: 0.2819 - binary_accuracy: 0.8901 - false_negatives: 2112.0000 - false_positives: 2277.0000 -Epoch 00006: val_loss did not improve from 0.33150 -157/157 [==============================] - 9s 55ms/step - loss: 0.2819 - binary_accuracy: 0.8902 - false_negatives: 2112.0000 - false_positives: 2282.0000 - val_loss: 0.4018 - val_binary_accuracy: 0.8312 - val_false_negatives: 694.0000 - val_false_positives: 150.0000 + +``` +
+ + 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8706 - false_negatives: 1186.9166 - false_positives: 1427.9487 - loss: 0.3301 + + +
+``` +Epoch 6: val_loss improved from 0.36235 to 0.35041, saving model to FullModelCheckpoint.keras + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 12s 76ms/step - binary_accuracy: 0.8705 - false_negatives: 1204.8038 - false_positives: 1444.9368 - loss: 0.3302 - val_binary_accuracy: 0.8412 - val_false_negatives: 569.0000 - val_false_positives: 225.0000 - val_loss: 0.3504 + + +
+``` Epoch 7/20 -156/157 [============================>.] - ETA: 0s - loss: 0.2650 - binary_accuracy: 0.8992 - false_negatives: 1902.0000 - false_positives: 2122.0000 -Epoch 00007: val_loss improved from 0.33150 to 0.32843, saving model to FullModelCheckpoint.h5 -157/157 [==============================] - 9s 55ms/step - loss: 0.2649 - binary_accuracy: 0.8992 - false_negatives: 1908.0000 - false_positives: 2123.0000 - val_loss: 0.3284 - val_binary_accuracy: 0.8578 - val_false_negatives: 274.0000 - val_false_positives: 437.0000 + +``` +
+ + 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8768 - false_negatives: 1162.4423 - false_positives: 1342.4807 - loss: 0.3084 + + +
+``` +Epoch 7: val_loss improved from 0.35041 to 0.32680, saving model to FullModelCheckpoint.keras + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 12s 76ms/step - binary_accuracy: 0.8768 - false_negatives: 1179.5253 - false_positives: 1358.4114 - loss: 0.3085 - val_binary_accuracy: 0.8590 - val_false_negatives: 364.0000 - val_false_positives: 341.0000 - val_loss: 0.3268 + + +
+``` Epoch 8/20 -157/157 [==============================] - ETA: 0s - loss: 0.2508 - binary_accuracy: 0.9051 - false_negatives: 1821.0000 - false_positives: 1974.0000 -Epoch 00008: val_loss did not improve from 0.32843 -157/157 [==============================] - 9s 55ms/step - loss: 0.2508 - binary_accuracy: 0.9051 - false_negatives: 1821.0000 - false_positives: 1974.0000 - val_loss: 0.4806 - val_binary_accuracy: 0.8194 - val_false_negatives: 788.0000 - val_false_positives: 115.0000 + +``` +
+ + 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 73ms/step - binary_accuracy: 0.8865 - false_negatives: 1079.3206 - false_positives: 1250.2693 - loss: 0.2924 + + +
+``` +Epoch 8: val_loss did not improve from 0.32680 + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 12s 76ms/step - binary_accuracy: 0.8864 - false_negatives: 1094.9873 - false_positives: 1265.0632 - loss: 0.2926 - val_binary_accuracy: 0.8460 - val_false_negatives: 548.0000 - val_false_positives: 222.0000 - val_loss: 0.3432 + + +
+``` Epoch 9/20 -156/157 [============================>.] - ETA: 0s - loss: 0.2377 - binary_accuracy: 0.9112 - false_negatives: 1771.0000 - false_positives: 1775.0000 -Epoch 00009: val_loss did not improve from 0.32843 -157/157 [==============================] - 9s 54ms/step - loss: 0.2378 - binary_accuracy: 0.9112 - false_negatives: 1775.0000 - false_positives: 1777.0000 - val_loss: 0.3378 - val_binary_accuracy: 0.8562 - val_false_negatives: 335.0000 - val_false_positives: 384.0000 + +``` +
+ + 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 73ms/step - binary_accuracy: 0.8912 - false_negatives: 1019.1987 - false_positives: 1189.4551 - loss: 0.2807 + + +
+``` +Epoch 9: val_loss did not improve from 0.32680 + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 12s 77ms/step - binary_accuracy: 0.8912 - false_negatives: 1033.9684 - false_positives: 1203.5632 - loss: 0.2808 - val_binary_accuracy: 0.8588 - val_false_negatives: 330.0000 - val_false_positives: 376.0000 - val_loss: 0.3302 + + +
+``` Epoch 10/20 -156/157 [============================>.] - ETA: 0s - loss: 0.2209 - binary_accuracy: 0.9195 - false_negatives: 1591.0000 - false_positives: 1623.0000 -Epoch 00010: val_loss did not improve from 0.32843 -157/157 [==============================] - 9s 55ms/step - loss: 0.2211 - binary_accuracy: 0.9195 - false_negatives: 1594.0000 - false_positives: 1627.0000 - val_loss: 0.3475 - val_binary_accuracy: 0.8556 - val_false_negatives: 425.0000 - val_false_positives: 297.0000 + +``` +
+ + 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8997 - false_negatives: 968.6346 - false_positives: 1109.9103 - loss: 0.2669 + + +
+``` +Epoch 10: val_loss did not improve from 0.32680 + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 12s 76ms/step - binary_accuracy: 0.8996 - false_negatives: 983.1202 - false_positives: 1123.3418 - loss: 0.2671 - val_binary_accuracy: 0.8558 - val_false_negatives: 445.0000 - val_false_positives: 276.0000 - val_loss: 0.3413 + + +
+``` Epoch 11/20 -156/157 [============================>.] - ETA: 0s - loss: 0.2060 - binary_accuracy: 0.9251 - false_negatives: 1512.0000 - false_positives: 1479.0000 -Epoch 00011: val_loss did not improve from 0.32843 -157/157 [==============================] - 9s 55ms/step - loss: 0.2061 - binary_accuracy: 0.9251 - false_negatives: 1517.0000 - false_positives: 1479.0000 - val_loss: 0.3823 - val_binary_accuracy: 0.8522 - val_false_negatives: 276.0000 - val_false_positives: 463.0000 -Epoch 00011: early stopping ```
-![png](/img/examples/nlp/active_learning_review_classification/active_learning_review_classification_15_1.png) + + 156/157 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.9055 - false_negatives: 937.0320 - false_positives: 1000.8589 - loss: 0.2520 + + +
+``` +Epoch 11: val_loss did not improve from 0.32680 + + +``` +
+ 157/157 ━━━━━━━━━━━━━━━━━━━━ 12s 76ms/step - binary_accuracy: 0.9055 - false_negatives: 950.3608 - false_positives: 1013.6456 - loss: 0.2521 - val_binary_accuracy: 0.8602 - val_false_negatives: 402.0000 - val_false_positives: 297.0000 - val_loss: 0.3281 + + +
+``` +Epoch 11: early stopping + +``` +
+ +![png](/img/examples/nlp/active_learning_review_classification/active_learning_review_classification_15_1755.png) + -![png](/img/examples/nlp/active_learning_review_classification/active_learning_review_classification_15_2.png) + +![png](/img/examples/nlp/active_learning_review_classification/active_learning_review_classification_15_1756.png) +
``` ---------------------------------------------------------------------------------------------------- -Test set evaluation: {'loss': 0.34183189272880554, 'binary_accuracy': 0.8579999804496765, 'false_negatives': 295.0, 'false_positives': 415.0} + +Test set evaluation: {'binary_accuracy': 0.8507999777793884, 'false_negatives': 397.0, 'false_positives': 349.0, 'loss': 0.3372706174850464} ---------------------------------------------------------------------------------------------------- ``` @@ -508,7 +706,7 @@ def train_active_learning_models( # Defining checkpoints. # The checkpoint callback is reused throughout the training since it only saves the best overall model. checkpoint = keras.callbacks.ModelCheckpoint( - "AL_Model.h5", save_best_only=True, verbose=1 + "AL_Model.keras", save_best_only=True, verbose=1 ) # Here, patience is set to 4. This can be set higher if desired. early_stopping = keras.callbacks.EarlyStopping(patience=4, verbose=1) @@ -532,9 +730,9 @@ def train_active_learning_models( predictions = model.predict(test_dataset) # Generating labels from the output probabilities - rounded = tf.where(tf.greater(predictions, 0.5), 1, 0) + rounded = ops.where(ops.greater(predictions, 0.5), 1, 0) - # Evaluating the number of zeros and ones incorrectly classified + # Evaluating the number of zeros and ones incorrrectly classified _, _, false_negatives, false_positives = model.evaluate(test_dataset, verbose=0) print("-" * 100) @@ -601,7 +799,7 @@ def train_active_learning_models( ) # Loading the best model from this training loop - model = keras.models.load_model("AL_Model.h5") + model = keras.models.load_model("AL_Model.keras") # Plotting the overall history and evaluating the final model plot_history(losses, val_losses, accuracies, val_accuracies) @@ -620,177 +818,779 @@ active_learning_model = train_active_learning_models( ) ``` + +
Model: "sequential_1"
+
+ + + + +
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
+┃ Layer (type)                     Output Shape                  Param # ┃
+┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
+│ embedding_1 (Embedding)         │ (None, 150, 128)       │       384,000 │
+├─────────────────────────────────┼────────────────────────┼───────────────┤
+│ bidirectional_1 (Bidirectional) │ (None, 150, 64)        │        41,216 │
+├─────────────────────────────────┼────────────────────────┼───────────────┤
+│ global_max_pooling1d_1          │ (None, 64)             │             0 │
+│ (GlobalMaxPooling1D)            │                        │               │
+├─────────────────────────────────┼────────────────────────┼───────────────┤
+│ dense_2 (Dense)                 │ (None, 20)             │         1,300 │
+├─────────────────────────────────┼────────────────────────┼───────────────┤
+│ dropout_1 (Dropout)             │ (None, 20)             │             0 │
+├─────────────────────────────────┼────────────────────────┼───────────────┤
+│ dense_3 (Dense)                 │ (None, 1)              │            21 │
+└─────────────────────────────────┴────────────────────────┴───────────────┘
+
+ + + + +
 Total params: 426,537 (1.63 MB)
+
+ + + + +
 Trainable params: 426,537 (1.63 MB)
+
+ + + + +
 Non-trainable params: 0 (0.00 B)
+
+ + +
``` -Model: "sequential_1" -_________________________________________________________________ - Layer (type) Output Shape Param # -================================================================= - embedding_1 (Embedding) (None, 150, 128) 384000 - - bidirectional_1 (Bidirectio (None, 150, 64) 41216 - nal) - - global_max_pooling1d_1 (Glo (None, 64) 0 - balMaxPooling1D) - - dense_2 (Dense) (None, 20) 1300 - - dropout_1 (Dropout) (None, 20) 0 - - dense_3 (Dense) (None, 1) 21 - -================================================================= -Total params: 426,537 -Trainable params: 426,537 -Non-trainable params: 0 -_________________________________________________________________ Starting to train with 15000 samples Epoch 1/20 -59/59 [==============================] - ETA: 0s - loss: 0.6235 - binary_accuracy: 0.6679 - false_negatives_1: 3111.0000 - false_positives_1: 1870.0000 -Epoch 00001: val_loss improved from inf to 0.43017, saving model to AL_Model.h5 -59/59 [==============================] - 13s 87ms/step - loss: 0.6235 - binary_accuracy: 0.6679 - false_negatives_1: 3111.0000 - false_positives_1: 1870.0000 - val_loss: 0.4302 - val_binary_accuracy: 0.8286 - val_false_negatives_1: 513.0000 - val_false_positives_1: 344.0000 -Epoch 2/20 -58/59 [============================>.] - ETA: 0s - loss: 0.4381 - binary_accuracy: 0.8232 - false_negatives_1: 1412.0000 - false_positives_1: 1213.0000 -Epoch 00002: val_loss improved from 0.43017 to 0.40090, saving model to AL_Model.h5 -59/59 [==============================] - 4s 64ms/step - loss: 0.4373 - binary_accuracy: 0.8235 - false_negatives_1: 1423.0000 - false_positives_1: 1225.0000 - val_loss: 0.4009 - val_binary_accuracy: 0.8248 - val_false_negatives_1: 674.0000 - val_false_positives_1: 202.0000 -Epoch 3/20 -58/59 [============================>.] - ETA: 0s - loss: 0.3810 - binary_accuracy: 0.8544 - false_negatives_1: 1115.0000 - false_positives_1: 1047.0000 -Epoch 00003: val_loss improved from 0.40090 to 0.36085, saving model to AL_Model.h5 -59/59 [==============================] - 4s 61ms/step - loss: 0.3805 - binary_accuracy: 0.8545 - false_negatives_1: 1123.0000 - false_positives_1: 1060.0000 - val_loss: 0.3608 - val_binary_accuracy: 0.8408 - val_false_negatives_1: 231.0000 - val_false_positives_1: 565.0000 -Epoch 4/20 -58/59 [============================>.] - ETA: 0s - loss: 0.3436 - binary_accuracy: 0.8647 - false_negatives_1: 995.0000 - false_positives_1: 1014.0000 -Epoch 00004: val_loss improved from 0.36085 to 0.35469, saving model to AL_Model.h5 -59/59 [==============================] - 4s 61ms/step - loss: 0.3428 - binary_accuracy: 0.8654 - false_negatives_1: 999.0000 - false_positives_1: 1020.0000 - val_loss: 0.3547 - val_binary_accuracy: 0.8452 - val_false_negatives_1: 266.0000 - val_false_positives_1: 508.0000 -Epoch 5/20 -58/59 [============================>.] - ETA: 0s - loss: 0.3166 - binary_accuracy: 0.8834 - false_negatives_1: 835.0000 - false_positives_1: 897.0000 -Epoch 00005: val_loss did not improve from 0.35469 -59/59 [==============================] - 4s 60ms/step - loss: 0.3163 - binary_accuracy: 0.8835 - false_negatives_1: 839.0000 - false_positives_1: 908.0000 - val_loss: 0.3554 - val_binary_accuracy: 0.8508 - val_false_negatives_1: 382.0000 - val_false_positives_1: 364.0000 -Epoch 6/20 -58/59 [============================>.] - ETA: 0s - loss: 0.2935 - binary_accuracy: 0.8944 - false_negatives_1: 757.0000 - false_positives_1: 811.0000 -Epoch 00006: val_loss did not improve from 0.35469 -59/59 [==============================] - 4s 60ms/step - loss: 0.2938 - binary_accuracy: 0.8945 - false_negatives_1: 765.0000 - false_positives_1: 818.0000 - val_loss: 0.3718 - val_binary_accuracy: 0.8458 - val_false_negatives_1: 345.0000 - val_false_positives_1: 426.0000 -Epoch 7/20 -58/59 [============================>.] - ETA: 0s - loss: 0.2794 - binary_accuracy: 0.9003 - false_negatives_1: 732.0000 - false_positives_1: 748.0000 -Epoch 00007: val_loss did not improve from 0.35469 -59/59 [==============================] - 3s 59ms/step - loss: 0.2797 - binary_accuracy: 0.9001 - false_negatives_1: 749.0000 - false_positives_1: 749.0000 - val_loss: 0.3825 - val_binary_accuracy: 0.8406 - val_false_negatives_1: 228.0000 - val_false_positives_1: 569.0000 -Epoch 8/20 -58/59 [============================>.] - ETA: 0s - loss: 0.2526 - binary_accuracy: 0.9147 - false_negatives_1: 620.0000 - false_positives_1: 647.0000 -Epoch 00008: val_loss did not improve from 0.35469 -59/59 [==============================] - 4s 60ms/step - loss: 0.2561 - binary_accuracy: 0.9134 - false_negatives_1: 620.0000 - false_positives_1: 679.0000 - val_loss: 0.4109 - val_binary_accuracy: 0.8258 - val_false_negatives_1: 622.0000 - val_false_positives_1: 249.0000 -Epoch 00008: early stopping ----------------------------------------------------------------------------------------------------- -Number of zeros incorrectly classified: 665.0, Number of ones incorrectly classified: 234.0 -Sample ratio for positives: 0.26028921023359286, Sample ratio for negatives:0.7397107897664071 -Starting training with 19999 samples ----------------------------------------------------------------------------------------------------- -Epoch 1/20 -78/79 [============================>.] - ETA: 0s - loss: 0.2955 - binary_accuracy: 0.8902 - false_negatives_2: 1091.0000 - false_positives_2: 1101.0000 -Epoch 00001: val_loss did not improve from 0.35469 -79/79 [==============================] - 15s 83ms/step - loss: 0.2956 - binary_accuracy: 0.8901 - false_negatives_2: 1095.0000 - false_positives_2: 1102.0000 - val_loss: 0.4136 - val_binary_accuracy: 0.8238 - val_false_negatives_2: 156.0000 - val_false_positives_2: 725.0000 -Epoch 2/20 -78/79 [============================>.] - ETA: 0s - loss: 0.2657 - binary_accuracy: 0.9047 - false_negatives_2: 953.0000 - false_positives_2: 949.0000 -Epoch 00002: val_loss did not improve from 0.35469 -79/79 [==============================] - 5s 61ms/step - loss: 0.2659 - binary_accuracy: 0.9047 - false_negatives_2: 954.0000 - false_positives_2: 951.0000 - val_loss: 0.4079 - val_binary_accuracy: 0.8386 - val_false_negatives_2: 510.0000 - val_false_positives_2: 297.0000 -Epoch 3/20 -78/79 [============================>.] - ETA: 0s - loss: 0.2475 - binary_accuracy: 0.9126 - false_negatives_2: 892.0000 - false_positives_2: 854.0000 -Epoch 00003: val_loss did not improve from 0.35469 -79/79 [==============================] - 5s 58ms/step - loss: 0.2474 - binary_accuracy: 0.9126 - false_negatives_2: 893.0000 - false_positives_2: 855.0000 - val_loss: 0.4207 - val_binary_accuracy: 0.8364 - val_false_negatives_2: 228.0000 - val_false_positives_2: 590.0000 -Epoch 4/20 -78/79 [============================>.] - ETA: 0s - loss: 0.2319 - binary_accuracy: 0.9193 - false_negatives_2: 805.0000 - false_positives_2: 807.0000 -Epoch 00004: val_loss did not improve from 0.35469 -79/79 [==============================] - 5s 57ms/step - loss: 0.2319 - binary_accuracy: 0.9192 - false_negatives_2: 807.0000 - false_positives_2: 808.0000 - val_loss: 0.4080 - val_binary_accuracy: 0.8310 - val_false_negatives_2: 264.0000 - val_false_positives_2: 581.0000 -Epoch 5/20 -78/79 [============================>.] - ETA: 0s - loss: 0.2133 - binary_accuracy: 0.9260 - false_negatives_2: 728.0000 - false_positives_2: 750.0000 -Epoch 00005: val_loss did not improve from 0.35469 -79/79 [==============================] - 5s 57ms/step - loss: 0.2133 - binary_accuracy: 0.9259 - false_negatives_2: 729.0000 - false_positives_2: 752.0000 - val_loss: 0.4054 - val_binary_accuracy: 0.8394 - val_false_negatives_2: 371.0000 - val_false_positives_2: 432.0000 -Epoch 6/20 -78/79 [============================>.] - ETA: 0s - loss: 0.1982 - binary_accuracy: 0.9361 - false_negatives_2: 639.0000 - false_positives_2: 636.0000 -Epoch 00006: val_loss did not improve from 0.35469 -79/79 [==============================] - 5s 57ms/step - loss: 0.1980 - binary_accuracy: 0.9362 - false_negatives_2: 639.0000 - false_positives_2: 636.0000 - val_loss: 0.5185 - val_binary_accuracy: 0.8284 - val_false_negatives_2: 590.0000 - val_false_positives_2: 268.0000 -Epoch 7/20 -78/79 [============================>.] - ETA: 0s - loss: 0.1887 - binary_accuracy: 0.9409 - false_negatives_2: 606.0000 - false_positives_2: 575.0000 -Epoch 00007: val_loss did not improve from 0.35469 -79/79 [==============================] - 5s 57ms/step - loss: 0.1886 - binary_accuracy: 0.9408 - false_negatives_2: 606.0000 - false_positives_2: 577.0000 - val_loss: 0.6881 - val_binary_accuracy: 0.7886 - val_false_negatives_2: 893.0000 - val_false_positives_2: 164.0000 -Epoch 8/20 -78/79 [============================>.] - ETA: 0s - loss: 0.1778 - binary_accuracy: 0.9443 - false_negatives_2: 575.0000 - false_positives_2: 538.0000 -Epoch 00008: val_loss did not improve from 0.35469 -79/79 [==============================] - 5s 57ms/step - loss: 0.1776 - binary_accuracy: 0.9443 - false_negatives_2: 575.0000 - false_positives_2: 538.0000 - val_loss: 0.5921 - val_binary_accuracy: 0.8244 - val_false_negatives_2: 634.0000 - val_false_positives_2: 244.0000 -Epoch 9/20 -78/79 [============================>.] - ETA: 0s - loss: 0.1598 - binary_accuracy: 0.9505 - false_negatives_2: 507.0000 - false_positives_2: 481.0000 -Epoch 00009: val_loss did not improve from 0.35469 -79/79 [==============================] - 5s 57ms/step - loss: 0.1597 - binary_accuracy: 0.9506 - false_negatives_2: 507.0000 - false_positives_2: 481.0000 - val_loss: 0.5393 - val_binary_accuracy: 0.8214 - val_false_negatives_2: 542.0000 - val_false_positives_2: 351.0000 -Epoch 00009: early stopping ----------------------------------------------------------------------------------------------------- -Number of zeros incorrectly classified: 270.0, Number of ones incorrectly classified: 498.0 -Sample ratio for positives: 0.6484375, Sample ratio for negatives:0.3515625 -Starting training with 24998 samples ----------------------------------------------------------------------------------------------------- -Epoch 1/20 -97/98 [============================>.] - ETA: 0s - loss: 0.3554 - binary_accuracy: 0.8609 - false_negatives_3: 1714.0000 - false_positives_3: 1739.0000 -Epoch 00001: val_loss improved from 0.35469 to 0.34182, saving model to AL_Model.h5 -98/98 [==============================] - 17s 82ms/step - loss: 0.3548 - binary_accuracy: 0.8613 - false_negatives_3: 1720.0000 - false_positives_3: 1748.0000 - val_loss: 0.3418 - val_binary_accuracy: 0.8528 - val_false_negatives_3: 369.0000 - val_false_positives_3: 367.0000 -Epoch 2/20 -97/98 [============================>.] - ETA: 0s - loss: 0.3176 - binary_accuracy: 0.8785 - false_negatives_3: 1473.0000 - false_positives_3: 1544.0000 -Epoch 00002: val_loss did not improve from 0.34182 -98/98 [==============================] - 6s 56ms/step - loss: 0.3179 - binary_accuracy: 0.8784 - false_negatives_3: 1479.0000 - false_positives_3: 1560.0000 - val_loss: 0.4785 - val_binary_accuracy: 0.8102 - val_false_negatives_3: 793.0000 - val_false_positives_3: 156.0000 -Epoch 3/20 -97/98 [============================>.] - ETA: 0s - loss: 0.2986 - binary_accuracy: 0.8893 - false_negatives_3: 1353.0000 - false_positives_3: 1396.0000 -Epoch 00003: val_loss did not improve from 0.34182 -98/98 [==============================] - 5s 56ms/step - loss: 0.2985 - binary_accuracy: 0.8893 - false_negatives_3: 1366.0000 - false_positives_3: 1402.0000 - val_loss: 0.3473 - val_binary_accuracy: 0.8542 - val_false_negatives_3: 340.0000 - val_false_positives_3: 389.0000 -Epoch 4/20 -97/98 [============================>.] - ETA: 0s - loss: 0.2822 - binary_accuracy: 0.8970 - false_negatives_3: 1253.0000 - false_positives_3: 1305.0000 -Epoch 00004: val_loss did not improve from 0.34182 -98/98 [==============================] - 6s 56ms/step - loss: 0.2820 - binary_accuracy: 0.8971 - false_negatives_3: 1257.0000 - false_positives_3: 1316.0000 - val_loss: 0.3849 - val_binary_accuracy: 0.8386 - val_false_negatives_3: 537.0000 - val_false_positives_3: 270.0000 -Epoch 5/20 -97/98 [============================>.] - ETA: 0s - loss: 0.2666 - binary_accuracy: 0.9047 - false_negatives_3: 1130.0000 - false_positives_3: 1237.0000 -Epoch 00005: val_loss did not improve from 0.34182 -98/98 [==============================] - 6s 56ms/step - loss: 0.2666 - binary_accuracy: 0.9048 - false_negatives_3: 1142.0000 - false_positives_3: 1238.0000 - val_loss: 0.3731 - val_binary_accuracy: 0.8444 - val_false_negatives_3: 251.0000 - val_false_positives_3: 527.0000 -Epoch 00005: early stopping ----------------------------------------------------------------------------------------------------- -Number of zeros incorrectly classified: 392.0, Number of ones incorrectly classified: 356.0 -Sample ratio for positives: 0.47593582887700536, Sample ratio for negatives:0.5240641711229946 -Starting training with 29997 samples ----------------------------------------------------------------------------------------------------- -Epoch 1/20 -117/118 [============================>.] - ETA: 0s - loss: 0.3345 - binary_accuracy: 0.8720 - false_negatives_4: 1835.0000 - false_positives_4: 1998.0000 -Epoch 00001: val_loss did not improve from 0.34182 -118/118 [==============================] - 20s 96ms/step - loss: 0.3343 - binary_accuracy: 0.8722 - false_negatives_4: 1835.0000 - false_positives_4: 1999.0000 - val_loss: 0.3478 - val_binary_accuracy: 0.8488 - val_false_negatives_4: 250.0000 - val_false_positives_4: 506.0000 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.5197 - false_negatives_1: 1686.7457 - false_positives_1: 1938.3051 - loss: 0.6918 + + +
+``` +Epoch 1: val_loss improved from inf to 0.67428, saving model to AL_Model.keras + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 8s 89ms/step - binary_accuracy: 0.5202 - false_negatives_1: 1716.9833 - false_positives_1: 1961.4667 - loss: 0.6917 - val_binary_accuracy: 0.6464 - val_false_negatives_1: 279.0000 - val_false_positives_1: 1489.0000 - val_loss: 0.6743 + + +
+``` Epoch 2/20 -117/118 [============================>.] - ETA: 0s - loss: 0.3061 - binary_accuracy: 0.8842 - false_negatives_4: 1667.0000 - false_positives_4: 1801.0000 -Epoch 00002: val_loss improved from 0.34182 to 0.33779, saving model to AL_Model.h5 -118/118 [==============================] - 7s 56ms/step - loss: 0.3059 - binary_accuracy: 0.8843 - false_negatives_4: 1670.0000 - false_positives_4: 1802.0000 - val_loss: 0.3378 - val_binary_accuracy: 0.8534 - val_false_negatives_4: 335.0000 - val_false_positives_4: 398.0000 -Epoch 3/20 -117/118 [============================>.] - ETA: 0s - loss: 0.2923 - binary_accuracy: 0.8921 - false_negatives_4: 1626.0000 - false_positives_4: 1607.0000 -Epoch 00003: val_loss did not improve from 0.33779 -118/118 [==============================] - 7s 56ms/step - loss: 0.2923 - binary_accuracy: 0.8921 - false_negatives_4: 1626.0000 - false_positives_4: 1611.0000 - val_loss: 0.3413 - val_binary_accuracy: 0.8486 - val_false_negatives_4: 269.0000 - val_false_positives_4: 488.0000 -Epoch 4/20 -117/118 [============================>.] - ETA: 0s - loss: 0.2746 - binary_accuracy: 0.8997 - false_negatives_4: 1459.0000 - false_positives_4: 1546.0000 -Epoch 00004: val_loss did not improve from 0.33779 -118/118 [==============================] - 7s 55ms/step - loss: 0.2746 - binary_accuracy: 0.8996 - false_negatives_4: 1465.0000 - false_positives_4: 1546.0000 - val_loss: 0.3810 - val_binary_accuracy: 0.8326 - val_false_negatives_4: 169.0000 - val_false_positives_4: 668.0000 -Epoch 5/20 -117/118 [============================>.] - ETA: 0s - loss: 0.2598 - binary_accuracy: 0.9066 - false_negatives_4: 1336.0000 - false_positives_4: 1462.0000 -Epoch 00005: val_loss did not improve from 0.33779 -118/118 [==============================] - 7s 56ms/step - loss: 0.2597 - binary_accuracy: 0.9066 - false_negatives_4: 1337.0000 - false_positives_4: 1465.0000 - val_loss: 0.4038 - val_binary_accuracy: 0.8332 - val_false_negatives_4: 643.0000 - val_false_positives_4: 191.0000 -Epoch 6/20 -117/118 [============================>.] - ETA: 0s - loss: 0.2461 - binary_accuracy: 0.9132 - false_negatives_4: 1263.0000 - false_positives_4: 1337.0000 -Epoch 00006: val_loss did not improve from 0.33779 -118/118 [==============================] - 7s 55ms/step - loss: 0.2462 - binary_accuracy: 0.9132 - false_negatives_4: 1263.0000 - false_positives_4: 1341.0000 - val_loss: 0.3546 - val_binary_accuracy: 0.8500 - val_false_negatives_4: 359.0000 - val_false_positives_4: 391.0000 -Epoch 00006: early stopping ```
-![png](/img/examples/nlp/active_learning_review_classification/active_learning_review_classification_17_1.png) + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.6505 - false_negatives_1: 1216.0170 - false_positives_1: 1434.2373 - loss: 0.6561 + +
+``` +Epoch 2: val_loss improved from 0.67428 to 0.59133, saving model to AL_Model.keras -![png](/img/examples/nlp/active_learning_review_classification/active_learning_review_classification_17_2.png) + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.6507 - false_negatives_1: 1234.9833 - false_positives_1: 1455.7667 - loss: 0.6558 - val_binary_accuracy: 0.7032 - val_false_negatives_1: 235.0000 - val_false_positives_1: 1249.0000 - val_loss: 0.5913
``` ----------------------------------------------------------------------------------------------------- -Test set evaluation: {'loss': 0.34248775243759155, 'binary_accuracy': 0.854200005531311, 'false_negatives_4': 348.0, 'false_positives_4': 381.0} +Epoch 3/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.7103 - false_negatives_1: 939.5255 - false_positives_1: 1235.8983 - loss: 0.5829 + + +
+``` +Epoch 3: val_loss improved from 0.59133 to 0.51602, saving model to AL_Model.keras + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.7106 - false_negatives_1: 953.0500 - false_positives_1: 1255.3167 - loss: 0.5827 - val_binary_accuracy: 0.7686 - val_false_negatives_1: 812.0000 - val_false_positives_1: 345.0000 - val_loss: 0.5160 + + +
+``` +Epoch 4/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.7545 - false_negatives_1: 787.4237 - false_positives_1: 1070.0339 - loss: 0.5214 + + +
+``` +Epoch 4: val_loss improved from 0.51602 to 0.43948, saving model to AL_Model.keras + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.7547 - false_negatives_1: 799.2667 - false_positives_1: 1085.8833 - loss: 0.5212 - val_binary_accuracy: 0.8028 - val_false_negatives_1: 342.0000 - val_false_positives_1: 644.0000 - val_loss: 0.4395 + + +
+``` +Epoch 5/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.7919 - false_negatives_1: 676.7458 - false_positives_1: 907.4915 - loss: 0.4657 + + +
+``` +Epoch 5: val_loss improved from 0.43948 to 0.41679, saving model to AL_Model.keras + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.7920 - false_negatives_1: 687.3834 - false_positives_1: 921.1667 - loss: 0.4655 - val_binary_accuracy: 0.8158 - val_false_negatives_1: 598.0000 - val_false_positives_1: 323.0000 - val_loss: 0.4168 + + +
+``` +Epoch 6/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.7994 - false_negatives_1: 661.3560 - false_positives_1: 828.0847 - loss: 0.4498 + + +
+``` +Epoch 6: val_loss improved from 0.41679 to 0.39680, saving model to AL_Model.keras + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.7997 - false_negatives_1: 671.3666 - false_positives_1: 840.2500 - loss: 0.4495 - val_binary_accuracy: 0.8260 - val_false_negatives_1: 382.0000 - val_false_positives_1: 488.0000 - val_loss: 0.3968 + + +
+``` +Epoch 7/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8311 - false_negatives_1: 589.1187 - false_positives_1: 707.0170 - loss: 0.4017 + + +
+``` +Epoch 7: val_loss did not improve from 0.39680 + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.8312 - false_negatives_1: 598.3500 - false_positives_1: 717.8167 - loss: 0.4016 - val_binary_accuracy: 0.7706 - val_false_negatives_1: 1004.0000 - val_false_positives_1: 143.0000 - val_loss: 0.4884 + + +
+``` +Epoch 8/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8365 - false_negatives_1: 566.7288 - false_positives_1: 649.9322 - loss: 0.3896 + + +
+``` +Epoch 8: val_loss did not improve from 0.39680 + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.8366 - false_negatives_1: 575.2833 - false_positives_1: 660.2167 - loss: 0.3895 - val_binary_accuracy: 0.8216 - val_false_negatives_1: 623.0000 - val_false_positives_1: 269.0000 - val_loss: 0.4043 + + +
+``` +Epoch 9/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8531 - false_negatives_1: 519.0170 - false_positives_1: 591.6440 - loss: 0.3631 + + +
+``` +Epoch 9: val_loss improved from 0.39680 to 0.37727, saving model to AL_Model.keras + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.8531 - false_negatives_1: 527.2667 - false_positives_1: 601.2500 - loss: 0.3631 - val_binary_accuracy: 0.8348 - val_false_negatives_1: 296.0000 - val_false_positives_1: 530.0000 - val_loss: 0.3773 + + +
+``` +Epoch 10/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8686 - false_negatives_1: 475.7966 - false_positives_1: 569.0508 - loss: 0.3387 + + +
+``` +Epoch 10: val_loss improved from 0.37727 to 0.37354, saving model to AL_Model.keras + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.8685 - false_negatives_1: 483.5000 - false_positives_1: 577.9667 - loss: 0.3387 - val_binary_accuracy: 0.8400 - val_false_negatives_1: 327.0000 - val_false_positives_1: 473.0000 - val_loss: 0.3735 + + +
+``` +Epoch 11/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8716 - false_negatives_1: 452.1356 - false_positives_1: 522.1187 - loss: 0.3303 + + +
+``` +Epoch 11: val_loss improved from 0.37354 to 0.37074, saving model to AL_Model.keras + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.8716 - false_negatives_1: 459.3833 - false_positives_1: 530.6667 - loss: 0.3303 - val_binary_accuracy: 0.8390 - val_false_negatives_1: 362.0000 - val_false_positives_1: 443.0000 - val_loss: 0.3707 + + +
+``` +Epoch 12/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8833 - false_negatives_1: 433.0678 - false_positives_1: 481.1864 - loss: 0.3065 + + +
+``` +Epoch 12: val_loss did not improve from 0.37074 + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.8833 - false_negatives_1: 439.8333 - false_positives_1: 488.9667 - loss: 0.3066 - val_binary_accuracy: 0.8236 - val_false_negatives_1: 208.0000 - val_false_positives_1: 674.0000 - val_loss: 0.4046 + + +
+``` +Epoch 13/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8876 - false_negatives_1: 384.8305 - false_positives_1: 476.5254 - loss: 0.2978 + + +
+``` +Epoch 13: val_loss did not improve from 0.37074 + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 82ms/step - binary_accuracy: 0.8876 - false_negatives_1: 391.2667 - false_positives_1: 484.2500 - loss: 0.2978 - val_binary_accuracy: 0.8380 - val_false_negatives_1: 364.0000 - val_false_positives_1: 446.0000 - val_loss: 0.3783 + + +
+``` +Epoch 14/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8976 - false_negatives_1: 378.0169 - false_positives_1: 433.9831 - loss: 0.2754 + + +
+``` +Epoch 14: val_loss did not improve from 0.37074 + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.8975 - false_negatives_1: 384.2333 - false_positives_1: 441.3833 - loss: 0.2757 - val_binary_accuracy: 0.8310 - val_false_negatives_1: 525.0000 - val_false_positives_1: 320.0000 - val_loss: 0.3957 + + +
+``` +Epoch 15/20 + +``` +
+ + 59/59 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.9013 - false_negatives_1: 354.9322 - false_positives_1: 403.1695 - loss: 0.2709 + + +
+``` +Epoch 15: val_loss did not improve from 0.37074 + + +``` +
+ 59/59 ━━━━━━━━━━━━━━━━━━━━ 5s 83ms/step - binary_accuracy: 0.9013 - false_negatives_1: 360.4000 - false_positives_1: 409.5833 - loss: 0.2709 - val_binary_accuracy: 0.8298 - val_false_negatives_1: 302.0000 - val_false_positives_1: 549.0000 - val_loss: 0.4015 + + +
+``` +Epoch 15: early stopping + +``` +
+ + 20/20 ━━━━━━━━━━━━━━━━━━━━ 1s 39ms/step + + +
+``` +---------------------------------------------------------------------------------------------------- +Number of zeros incorrectly classified: 290.0, Number of ones incorrectly classified: 538.0 +Sample ratio for positives: 0.6497584541062802, Sample ratio for negatives:0.3502415458937198 +Starting training with 19999 samples +---------------------------------------------------------------------------------------------------- +Epoch 1/20 + +``` +
+ + 78/79 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8735 - false_negatives_2: 547.2436 - false_positives_2: 650.2436 - loss: 0.3527 + + +
+``` +Epoch 1: val_loss did not improve from 0.37074 + + +``` +
+ 79/79 ━━━━━━━━━━━━━━━━━━━━ 9s 84ms/step - binary_accuracy: 0.8738 - false_negatives_2: 559.2125 - false_positives_2: 665.3375 - loss: 0.3518 - val_binary_accuracy: 0.7932 - val_false_negatives_2: 119.0000 - val_false_positives_2: 915.0000 - val_loss: 0.4949 + + +
+``` +Epoch 2/20 + +``` +
+ + 78/79 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8961 - false_negatives_2: 470.2436 - false_positives_2: 576.1539 - loss: 0.2824 + + +
+``` +Epoch 2: val_loss did not improve from 0.37074 + + +``` +
+ 79/79 ━━━━━━━━━━━━━━━━━━━━ 6s 80ms/step - binary_accuracy: 0.8962 - false_negatives_2: 481.4125 - false_positives_2: 589.6750 - loss: 0.2823 - val_binary_accuracy: 0.8014 - val_false_negatives_2: 809.0000 - val_false_positives_2: 184.0000 - val_loss: 0.4580 + + +
+``` +Epoch 3/20 + +``` +
+ + 78/79 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.9059 - false_negatives_2: 442.2051 - false_positives_2: 500.5385 - loss: 0.2628 + + +
+``` +Epoch 3: val_loss did not improve from 0.37074 + + +``` +
+ 79/79 ━━━━━━━━━━━━━━━━━━━━ 6s 80ms/step - binary_accuracy: 0.9059 - false_negatives_2: 452.6750 - false_positives_2: 513.5250 - loss: 0.2629 - val_binary_accuracy: 0.8294 - val_false_negatives_2: 302.0000 - val_false_positives_2: 551.0000 - val_loss: 0.3868 + + +
+``` +Epoch 4/20 + +``` +
+ + 78/79 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.9188 - false_negatives_2: 394.5513 - false_positives_2: 462.4359 - loss: 0.2391 + + +
+``` +Epoch 4: val_loss did not improve from 0.37074 + + +``` +
+ 79/79 ━━━━━━━━━━━━━━━━━━━━ 6s 80ms/step - binary_accuracy: 0.9187 - false_negatives_2: 405.0625 - false_positives_2: 474.1250 - loss: 0.2393 - val_binary_accuracy: 0.8268 - val_false_negatives_2: 225.0000 - val_false_positives_2: 641.0000 - val_loss: 0.4197 + + +
+``` +Epoch 5/20 + +``` +
+ + 78/79 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.9255 - false_negatives_2: 349.8718 - false_positives_2: 413.0898 - loss: 0.2270 + + +
+``` +Epoch 5: val_loss did not improve from 0.37074 + + +``` +
+ 79/79 ━━━━━━━━━━━━━━━━━━━━ 6s 79ms/step - binary_accuracy: 0.9254 - false_negatives_2: 358.6500 - false_positives_2: 423.5625 - loss: 0.2270 - val_binary_accuracy: 0.8228 - val_false_negatives_2: 611.0000 - val_false_positives_2: 275.0000 - val_loss: 0.4233 + + +
+``` +Epoch 6/20 + +``` +
+ + 78/79 ━━━━━━━━━━━━━━━━━━━━ 0s 73ms/step - binary_accuracy: 0.9265 - false_negatives_2: 349.8590 - false_positives_2: 389.9359 - loss: 0.2147 + + +
+``` +Epoch 6: val_loss did not improve from 0.37074 + + +``` +
+ 79/79 ━━━━━━━━━━━━━━━━━━━━ 6s 80ms/step - binary_accuracy: 0.9265 - false_negatives_2: 358.8375 - false_positives_2: 399.9875 - loss: 0.2148 - val_binary_accuracy: 0.8272 - val_false_negatives_2: 581.0000 - val_false_positives_2: 283.0000 - val_loss: 0.4415 + + +
+``` +Epoch 7/20 + +``` +
+ + 78/79 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.9409 - false_negatives_2: 286.7820 - false_positives_2: 322.7949 - loss: 0.1877 + + +
+``` +Epoch 7: val_loss did not improve from 0.37074 + + +``` +
+ 79/79 ━━━━━━━━━━━━━━━━━━━━ 6s 79ms/step - binary_accuracy: 0.9408 - false_negatives_2: 294.4375 - false_positives_2: 331.4000 - loss: 0.1880 - val_binary_accuracy: 0.8266 - val_false_negatives_2: 528.0000 - val_false_positives_2: 339.0000 - val_loss: 0.4419 + + +
+``` +Epoch 7: early stopping + +``` +
+ + 20/20 ━━━━━━━━━━━━━━━━━━━━ 1s 39ms/step + + +
+``` +---------------------------------------------------------------------------------------------------- +Number of zeros incorrectly classified: 376.0, Number of ones incorrectly classified: 442.0 +Sample ratio for positives: 0.5403422982885085, Sample ratio for negatives:0.45965770171149145 +Starting training with 24998 samples +---------------------------------------------------------------------------------------------------- +Epoch 1/20 + +``` +
+ + 98/98 ━━━━━━━━━━━━━━━━━━━━ 0s 73ms/step - binary_accuracy: 0.8509 - false_negatives_3: 809.9184 - false_positives_3: 1018.9286 - loss: 0.3732 + + +
+``` +Epoch 1: val_loss improved from 0.37074 to 0.36196, saving model to AL_Model.keras + + +``` +
+ 98/98 ━━━━━━━━━━━━━━━━━━━━ 11s 83ms/step - binary_accuracy: 0.8509 - false_negatives_3: 817.5757 - false_positives_3: 1028.7980 - loss: 0.3731 - val_binary_accuracy: 0.8424 - val_false_negatives_3: 368.0000 - val_false_positives_3: 420.0000 - val_loss: 0.3620 + + +
+``` +Epoch 2/20 + +``` +
+ + 98/98 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8744 - false_negatives_3: 734.7449 - false_positives_3: 884.7755 - loss: 0.3185 + + +
+``` +Epoch 2: val_loss did not improve from 0.36196 + + +``` +
+ 98/98 ━━━━━━━━━━━━━━━━━━━━ 8s 79ms/step - binary_accuracy: 0.8744 - false_negatives_3: 741.9697 - false_positives_3: 893.7172 - loss: 0.3186 - val_binary_accuracy: 0.8316 - val_false_negatives_3: 202.0000 - val_false_positives_3: 640.0000 - val_loss: 0.3792 + + +
+``` +Epoch 3/20 + +``` +
+ + 98/98 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8830 - false_negatives_3: 684.1326 - false_positives_3: 807.8878 - loss: 0.3090 + + +
+``` +Epoch 3: val_loss did not improve from 0.36196 + + +``` +
+ 98/98 ━━━━━━━━━━━━━━━━━━━━ 8s 79ms/step - binary_accuracy: 0.8830 - false_negatives_3: 691.0707 - false_positives_3: 816.2222 - loss: 0.3090 - val_binary_accuracy: 0.8118 - val_false_negatives_3: 738.0000 - val_false_positives_3: 203.0000 - val_loss: 0.4112 + + +
+``` +Epoch 4/20 + +``` +
+ + 98/98 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8892 - false_negatives_3: 651.9898 - false_positives_3: 776.4388 - loss: 0.2928 + + +
+``` +Epoch 4: val_loss did not improve from 0.36196 + + +``` +
+ 98/98 ━━━━━━━━━━━━━━━━━━━━ 8s 79ms/step - binary_accuracy: 0.8892 - false_negatives_3: 658.4041 - false_positives_3: 784.3839 - loss: 0.2928 - val_binary_accuracy: 0.8344 - val_false_negatives_3: 557.0000 - val_false_positives_3: 271.0000 - val_loss: 0.3734 + + +
+``` +Epoch 5/20 + +``` +
+ + 98/98 ━━━━━━━━━━━━━━━━━━━━ 0s 72ms/step - binary_accuracy: 0.8975 - false_negatives_3: 612.0714 - false_positives_3: 688.9184 - loss: 0.2806 + + +
+``` +Epoch 5: val_loss did not improve from 0.36196 + + +``` +
+ 98/98 ━━━━━━━━━━━━━━━━━━━━ 8s 79ms/step - binary_accuracy: 0.8974 - false_negatives_3: 618.4343 - false_positives_3: 696.1313 - loss: 0.2807 - val_binary_accuracy: 0.8456 - val_false_negatives_3: 446.0000 - val_false_positives_3: 326.0000 - val_loss: 0.3658 + + +
+``` +Epoch 5: early stopping + +``` +
+ + 20/20 ━━━━━━━━━━━━━━━━━━━━ 1s 40ms/step + + +
+``` +---------------------------------------------------------------------------------------------------- +Number of zeros incorrectly classified: 407.0, Number of ones incorrectly classified: 410.0 +Sample ratio for positives: 0.5018359853121175, Sample ratio for negatives:0.4981640146878825 +Starting training with 29997 samples +---------------------------------------------------------------------------------------------------- +Epoch 1/20 + +``` +
+ + 117/118 ━━━━━━━━━━━━━━━━━━━━ 0s 76ms/step - binary_accuracy: 0.8621 - false_negatives_4: 916.2393 - false_positives_4: 1130.9744 - loss: 0.3527 + + +
+``` +Epoch 1: val_loss did not improve from 0.36196 + + +``` +
+ 118/118 ━━━━━━━━━━━━━━━━━━━━ 13s 85ms/step - binary_accuracy: 0.8621 - false_negatives_4: 931.0924 - false_positives_4: 1149.7479 - loss: 0.3525 - val_binary_accuracy: 0.8266 - val_false_negatives_4: 627.0000 - val_false_positives_4: 240.0000 - val_loss: 0.3802 + + +
+``` +Epoch 2/20 + +``` +
+ + 117/118 ━━━━━━━━━━━━━━━━━━━━ 0s 76ms/step - binary_accuracy: 0.8761 - false_negatives_4: 876.4872 - false_positives_4: 1005.5726 - loss: 0.3195 + + +
+``` +Epoch 2: val_loss improved from 0.36196 to 0.35707, saving model to AL_Model.keras + + +``` +
+ 118/118 ━━━━━━━━━━━━━━━━━━━━ 10s 82ms/step - binary_accuracy: 0.8760 - false_negatives_4: 891.0504 - false_positives_4: 1022.9412 - loss: 0.3196 - val_binary_accuracy: 0.8404 - val_false_negatives_4: 479.0000 - val_false_positives_4: 319.0000 - val_loss: 0.3571 + + +
+``` +Epoch 3/20 + +``` +
+ + 117/118 ━━━━━━━━━━━━━━━━━━━━ 0s 74ms/step - binary_accuracy: 0.8874 - false_negatives_4: 801.1710 - false_positives_4: 941.4786 - loss: 0.2965 + + +
+``` +Epoch 3: val_loss did not improve from 0.35707 + + +``` +
+ 118/118 ━━━━━━━━━━━━━━━━━━━━ 9s 79ms/step - binary_accuracy: 0.8873 - false_negatives_4: 814.8319 - false_positives_4: 957.8571 - loss: 0.2966 - val_binary_accuracy: 0.8226 - val_false_negatives_4: 677.0000 - val_false_positives_4: 210.0000 - val_loss: 0.3948 + + +
+``` +Epoch 4/20 + +``` +
+ + 117/118 ━━━━━━━━━━━━━━━━━━━━ 0s 76ms/step - binary_accuracy: 0.8977 - false_negatives_4: 740.5385 - false_positives_4: 837.1710 - loss: 0.2768 + + +
+``` +Epoch 4: val_loss did not improve from 0.35707 + + +``` +
+ 118/118 ━━━━━━━━━━━━━━━━━━━━ 10s 81ms/step - binary_accuracy: 0.8976 - false_negatives_4: 753.5378 - false_positives_4: 852.2437 - loss: 0.2770 - val_binary_accuracy: 0.8406 - val_false_negatives_4: 530.0000 - val_false_positives_4: 267.0000 - val_loss: 0.3630 + + +
+``` +Epoch 5/20 + +``` +
+ + 117/118 ━━━━━━━━━━━━━━━━━━━━ 0s 76ms/step - binary_accuracy: 0.9020 - false_negatives_4: 722.5214 - false_positives_4: 808.2308 - loss: 0.2674 + + +
+``` +Epoch 5: val_loss did not improve from 0.35707 + + +``` +
+ 118/118 ━━━━━━━━━━━━━━━━━━━━ 10s 82ms/step - binary_accuracy: 0.9019 - false_negatives_4: 734.8655 - false_positives_4: 822.4117 - loss: 0.2676 - val_binary_accuracy: 0.8330 - val_false_negatives_4: 592.0000 - val_false_positives_4: 243.0000 - val_loss: 0.3805 + + +
+``` +Epoch 6/20 + +``` +
+ + 117/118 ━━━━━━━━━━━━━━━━━━━━ 0s 76ms/step - binary_accuracy: 0.9059 - false_negatives_4: 682.1453 - false_positives_4: 737.0513 - loss: 0.2525 + + +
+``` +Epoch 6: val_loss did not improve from 0.35707 + + +``` +
+ 118/118 ━━━━━━━━━━━━━━━━━━━━ 10s 82ms/step - binary_accuracy: 0.9059 - false_negatives_4: 693.6387 - false_positives_4: 749.9412 - loss: 0.2526 - val_binary_accuracy: 0.8454 - val_false_negatives_4: 391.0000 - val_false_positives_4: 382.0000 - val_loss: 0.3620 + + +
+``` +Epoch 6: early stopping + +``` +
+ +![png](/img/examples/nlp/active_learning_review_classification/active_learning_review_classification_17_2767.png) + + + + + +![png](/img/examples/nlp/active_learning_review_classification/active_learning_review_classification_17_2768.png) + + + +
+``` +---------------------------------------------------------------------------------------------------- + +Test set evaluation: {'binary_accuracy': 0.8424000144004822, 'false_negatives_4': 491.0, 'false_positives_4': 297.0, 'loss': 0.3661557137966156} ---------------------------------------------------------------------------------------------------- ```