Spaces:
Sleeping
Sleeping
Upload 6 files
Browse files- app.py +22 -0
- model_hayabusa.py.enc +1 -0
- model_shogun.py.enc +1 -0
- model_takemura.py.enc +1 -0
- preprocessing.py.enc +1 -0
- product_similarity.py +231 -0
app.py
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from product_similarity import page1
|
3 |
+
|
4 |
+
# sidebar
|
5 |
+
st.sidebar.title("Deep Fashion")
|
6 |
+
st.sidebar.write(
|
7 |
+
"Deep Fashion, giyim ve moda sektörüne yönelik yapay zeka tabanlı çözümler sunar. ")
|
8 |
+
|
9 |
+
|
10 |
+
PAGES = {
|
11 |
+
"Ürün Benzerlik Analizi": page1,
|
12 |
+
}
|
13 |
+
|
14 |
+
|
15 |
+
def main():
|
16 |
+
selection = st.sidebar.radio("Özellik seçin:", list(PAGES.keys()))
|
17 |
+
page = PAGES[selection]
|
18 |
+
page()
|
19 |
+
|
20 |
+
|
21 |
+
if __name__ == "__main__":
|
22 |
+
main()
|
model_hayabusa.py.enc
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
gAAAAABmBSGebTB8A3nWyqm0M6CddIo--5V8FdWQbQyrOxgIUviYxkJT0bKoUiwoITW_Wp6Uil77jFSPM3Vhnd2280EmXCMorZDpCFfp-yvrwpZp3cQu6mHIpvfTZmZBf9Yp9bQwa6RSCvTs7IW0LBM1Q746jo2kykmT4tIcopeTzFbhOVVtGAeR9UG7PrpTAuL6N5-HPUActjLd0AG2xKgHIJUiCptHtoX9-Fe8M7g3_IXzkP33L2g18mRdjzqFq5lPJwAXCX44jEdd2n9Pv7LfINU6VHxzbRsu0ra84UyDZ0kPoMsBcpxazaZw6QDcsBi4yGmPzATRnVyFB66C616knN8rfRIDUasvQ5781JN14-sQ3vPR-qJ2ua2mCz90gfiDmdrSRT5SIb3dwEZ_stAtbZ29MWjejt15ik79k0mEFXUMgHXgrMh-1UvUZHocH7GF0nALhq2iqWqoRtyw6VrKnAy_S1XGDY6OUImbGQdaYykJ2dKhE3kOXBhR6ROdnIwPz9Urb2n_dGulopUFV8j-eu7X7FPSa5yaD6OlTprtQgel3Nxqiw0AmJ2xtpNfa7TcGSb37YYrKQ8V8G-2_0DV-Vu2gsQtTsI4chwdaNP0As5-fbmpflBVurdoz1f_5T8s4y7vuVVs9tdxmCKOhQMwdSimnw-FntOfTnOrzolfdm1bMm7ujSb5piFBcF8t2VNP9f6eoOs-9iu8WYTh-l2n-dlx1RyLAsCZazj2H055tOpmestnXhR64t3j6d2_Zk0p_vm7prdMQ13QqzDdUY8U8molns70qNh6kPX9Gt3Fyty4DoVfDlkBTik0f2WveoQtEsggVLE5ARzvs8Kr9kCDzTSSv1-Z9WRkbfjE7OYfGhzS25RLT4fL1OCLI28dHwRQ1Gs08vi8lKCpZSnz_wS9OlGqc6lAg7yllpvxUvVuo0N0r9vjsITEfrFKtqilozkLUDZTpGceenZOLUB5pxhRmNsyVt0Q3pXYl0tqrhYTU_cKgyOZfP-1VNpO2NVGZTqHwWcLFzAGJEkLaXSMjMSwQ7IU25zvwQq1pN23cpmkHJuqeKcb9XHqFy2O5uBB3wreHkVxKC6lEqwTH4zAxAbgCLtIBDgyK7d7dAVrjmTPhvByMLTNqJ5Zgfm5YmUTawWNT83WkGepIQdouhNuLwOdmD23pUdbSj0RYLbKh8haaGpUtESsLtx8rfoxgMgrj6lCn0aD7AWAPi593EtW34KI3JYDSu5r00XfCg-Bm4G4JpKDI2l8Zb6ffCd2Ls7lloUuKz539TLot_fbVAz7N8dQLm5CIGgtMFkDQUlm1MBAdQZO-bSE3LAUtpVGN41mD7Y7jBpxyfFNTYuaYsFeemR1w-CvTJYYMD92VK-L1V8ISlMb__pjPQjI_v815Bwl65K3JWL3pjW-9lTu53cx5A9vnkbFJfbOZgbM5lNEFj_qa9CuDiyhCpp-W8ywzYvlCbhO5Q77ArK0QFGbev3f_M4JCEpFsxc5aQcv7Vz38KxaQaTBXmaG-4CBRiD4_oFJK_-yCtYlYVaqXWlZuMW6dWroCaKYFcU2weCJXgzpXUOYjSFH2aBoyoVOAE-JlJx5DsX48ZKnN-YBsnuzigBv770IHHenxSkVzUw10-3PuvotnBYXOsz-rKK62zde5Vo_YUMr_eyOA3a-CkmQSSIHKylgLXlODGq9vMolow3T4Dutv059EPXv5K_1SsYJ3hkDuAtStP8CfqoFkwiX0HWET1oV_x906roaDwcNUHrDL8SQjOjZzwNTtKkW7UdOBuDdVoL4mj56uUnb_twGA-7X2Ic2SGabOCYn7L532AWTBpqz4edX89my7rVML5Twm8PWOFoLVb1PdR7NgTZAUxFvTGOm8eRbpLDuF0Tgq-3-OKAu0KTeJHqT014rDAqUYS8WFo03bjUIoVwDoJ_Ht7fhllTuCpkkCfEYZ7_pgP7feb79Z62H7Rz_17iPgxBqPoULvJGkFNJsAqTIy-v7wEfyKQaeMjwuA_dLjvGFFw9XfxApZMjOpqeDtKofHUeAHly5PZA6lcMGsPim1etAPxvh31fbRkLp-hHD_HKzPsCxCL-s9wnteJUu0ShdtvGwZUYmyj3MDy_PlX7BG-UpEMzjnEuHTa09atZ6HR_GI3BOSJjJTuLRLVtQt65IyCu9w_s64s0OZwEYtkJSSVA5GtSS6Ps2v2DK3HuJsIkFIbkipBIq_yJmvXsarV4fyQzThA6CuIJRrNAHGWu_jQ-Va64PZvGxg6SlW7m0Vw4jjdjnimeoVmD70ZnuLMhCcOJh0MAGE8r2sXw3RAFv29b9ky28wVvgGJlFkHGeypPH98f950MUKadFSqrH0Un93q65r6g3asc-n-OqgVlPIbmjtDyDU35TFgCTsNHvDqGlGwloi-JDxmh0ulngKKngFjzaE2BlP6WGsTzctaIMYFRGe5BjlwbpQ9sf8AoKdbFrbRGl3TyUHsMALt376XDUHBP6ZQWNtIU_pPe1xWCi7mb8uIV8zqGwsEDRh_gt6bC-TdWS2nLqiXlrO1HtU8aJ41IPzXIvUsJjag9gFk2CKx7oBrHqxt_1YYBL_z5nBeunh9C0ginaIcsI9dbOFgfbiLL7JYTI2OoqayHcwY2dSAS5vC_YqwaQQfdq7q_RqrugQp5_lIJK0g0Q7JSBhJBywtMMjdUrNb_cTFpYBizFVf7BG8KkueQDjHsvVuHg-DOufWIH51kkvvJFmK7T2rOAw8NIna_tzb2VHcNY9SBLn6i8QKSXZxSgOkhuQrbtjh-HiSdL7IjrB_tVe7oTFGR5N9KpUZnQruwmm-P03zKNM6D1GeOv6XtjAPzemVdKxOQ0E0xTpboTwzfqw4Q4P59Fkpsaoyud87FFMpMMZ-GiAh7W0mEXn5__oN9aWXqLjyEa2AzIPkJ0JRpRmEm-A94E4bbXLB1RMWKrccpi7_Tn86Lx4UWrvUQioxHZlHZAKrUh-oyMl708G1P_tyjhLV4KwOhOt_5MeeWuMhi5YDF8wLy2JsGpW9fE-Tp2nPq0tG2CMOJMyiyEZ4QIKw7bjUL6kW_YUxWd9MaxnlTJzrkwSx1OvanGBNM3dI4jAxhPwflMz70lmREtx4msm-sHeFeTR-0JtC-TAKWfojQ1RyAwPuaLkHongOGMGdvnxt8VHChCZEJhyO36kwks-5yhX-rVQh6m9nsSy6sDh9ZwL2zQsCI9HZxs53s95n7-DSAsxKNUtorysGQXaFOosfopFAoylDUOhyT4nEPacSeXQ0t2ylxdVaJIWdMaye1_c0A7r-1iIg8FglToOZ26aQZV-UwcWoo_gQqnUKOpldenlmQLqcmn7Za7_d3dqgiKfTE0LXdeE8Wj7Fa133ru-PxU5VtYxfID1NFBnW4OVKIIT82vGzQfNJi1Enni4hM3NzSenZ_Ey2qMPZx7GWAv0y2AMyHe6_uerVVyUqig3E1kQGgZGR3Cg2p8iAHb1e-v-c9dvL9QAFEaygBM2lkFldRLYnvD8eT5Uhq41vooueLfEz1YuL-s8FVy73pjx0FeZn7MaPygnolIhEhGcyjnaQrBcgpBNhXi6qTP6LQXKnKxjZuaQsROqNbP7yFRGbQFLeRUQR0baB_WF7YFGFTLzBT2ZlxdN8rhqsJH9FdMlPdx1PKk9yc6yX-XDabOYEwYDXNcnjT42gYE4q_eYWtONco-Er7q-4SOABmc2Y2sw2Gg5ueJoa5yM53Gy8SrY6-vTy0_x5O3vxQ0uBPIEbReRUpjxzu3-TPOneVTyuK5JC1YafkjvSXi6m3Mxtp-9aSSwm_S4tL0TgnKJST1Vo9XInyLJ9SdmnVG7jQ4-BQ6HRwx5JajnZfkHA2kLT4i5UCH0E-gJTJc3DdkNCWeddGQtfTvDT2t3nrysyOXXoeo26VNtqFkMEo5yA02nG7MUOfYOrrO1pO-qwXP0TRiOmEWFS3_ZMC1C7YRClOAq-vfUE7kF3HRDGFJfKU21Ba5A3OqfJxd7yGRjS6j_emcBFtKlNapOAbHYecsAC-O5IU2P97AMPXGC693p2DA8sZvY6vSW19Xh1p87cHvSZ0Za51u-Za9TePGvARugWnqHijpc7wyQ0PW73CgeAvdlrXae05FmcGeRtFGq7XAEHo1ObbvBqnTzJ_Ee6NTKEQpZDbdMpotVG_t0-bRRarCfFRECjbIcLBetbK180ASJ30WLSs0j0mw0UmHxKSudELxiGnj6UBB1D4sNLa0blBKDR-FSPCdXGq8ILOMW0n3i_hYNKntmy-vYXTMvTLNS6hGzVQTjPiIYsT35dj4sdXTDQtjDOdMN-6GEK80C4E5JYhjr2UWZP1k8NR4ZpJYLtUYrxahgIhsVLBTCF6MoXMG3chOmz2L6nq4y7jOa9XN5h4Sk_28nKBwslxXdVxMLxL32ZEw2u_L1seqgWRPuaOMGA0aTg3ArCYmPV4t7ajs9So_Ivpo9sODR5s91zmJ6WklHH5pJa6egFpK9AdN-R5oIz5wX4YjmnZcCXZj2awdx7LRLL5dHziORttgvA0K60d_PsNQMfEVvUs9wyWui8SWHMkg1CXEmOmSQAsRIFpru379kKJ4tls4HpaUkOjUeqqJfC-apc8UlhRyvxUH0Fo3ItL3tMKyqyiI29j-wUExA906tMRhYMvwny2lyDbbsypWYJCPmTAL1bugtlJ0ycoRo4JfpgD7R909T5lN8Oztovo8hOqslYo4EK3YXSm8wG3MW1A8-fkqykMlhMT-7_elETh75zd2z7GdAZTpVwm3sWO6h68O8w0H1OejnF1ZyYZx54vXxnCQk7N0dagdSpu8iyunhhccoFgd54Nf3aAPuzLlw3X9f36_5C6dKA7Iuo7VMi3n6TvLmcLQS7-G46C_u6IqM8pnoYeGoMLbGnHBUUI96gce229gwu50aOlPW5oBCN5AmOAovk02S2TXWZe_yaolR3NCjoPMMo89MmSs_7gMTFfrQnmNM5fcODFLSRI-xD9KJx5XBDn3otsDznNT-yU-uQMqgbTkJVZpgDqTjraFtJocczn-qAaf4gNX10ij58A_6AytcoHFSpOjnD7F5xpigslvHdFso3-so16kvOqWQCbEPBSnHHev0QGt7iQtPJzqZr7_fWaDhF7VvTsY-rZrVZ83UjwaB-JlVvqjtP36gsjyAW4i6w2OFDyygEnUgjJL6gbWhH3sHukv3LMGy3nMiHAgtn1GDC2afslcuA47h0PXQv2Z8KfRVNYeBQLTLWeY-IMlZdhbknSaSFd0Wg_e76XcvPjxS-Vt-Ez0wmhNcLvXoRroS9W4iPCZG2-LsECoIaPQXOkqnGCKajsf_-nZ2osdnhgL_ELccvDBUUGD3zL7zu-m3wBhsEqUBh9womREhDbGupxcNURcNYlDJYNrQJqOT43k9GnL9v1Hww1Dzs7I8Va0AKY=
|
model_shogun.py.enc
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
gAAAAABmBSGy2DfFpmfwJ5FNNmQRIBKgngwraqpPINZt1s_8_q3DGclg4Z7spxB0vJ2HKYfOBTgNgqeYIkR15jewqUmqYWCmOaPOdA06Xy9jcnIeFq4AkofPZY3qvWJJ7mgbB4e186HXXHqRFG1pgqdjVU1WQEPYkhp9e9mFFQbrMpN4Zm-_vliQUX9Vpa9moTp_unyYd4hzlKzS5V0y7CCOZq6-b7HvAPgbzWY3Cy5R3PznSI1CZFjMutf5MaGwIjrBHnaWvanmSvGRO-FTNEqXviBEFwUWFQbWbQsux0tpnFQj6BHSU7oprCYo5c0pyqXL8UYmaIw-SwZ-DmRL9QzavPJ58vZ12k1jxkL4VgEfIOGNt3m82PzrCPlZY1PT_TEDlo0YZCaHHUiitzZMMPKhwtII37nxGiMWAczvRtbOmAEeU7Z5c0FNddUAMUlubuy8dDm5_1_V9ttJy6Cxmbnld9_dz1mvb2aq9Y2oIKzr0VdT7CvpXSjocUFJYbaLoQWY8XBLbi7Uxekldlrh3kOdn6WBb4YCVRBgGqXCXL-OSVvg8QWv1IG-dlF_RYC3Oxng3684hBCpiX_LdQgUP5s7ogeoWAAV6agqk7db2HNMoxaOxfngHZwmLA0dDQZf_xl_Zs0NZeY1TMjFM6hHHa2V2pjzzIHaALpWHuEFlSHbZPOvWhUyV85vadEHHlpCQC8OEPwvyo_q1T9Ll6ijxWSI9Ja30QLfOlACL0OD4mtlDITM-uaV720KYd2jYp6VP8Ug6zePz0p81T3d-MmmYVUnNcmATz53jOyiJ-t3kSjybv3qZHeVERkLnuAfxXye9Vb_Sg8WIByJR7RtfBQlip5Fk5tjarVQRZc9zvaqofrh4bGwk_FIrvefoCpcFyFFnES1ng9Pi9GVdGNEAdBLLjMPX9KFZhuA3d_5TnAnfBc-zY2_fFgCs1_YOkoGAn1XoAol_FF5It8wIFiU5nd4my5L0CI0geVgKOA_Uu47tDRQRQkicssO0fQ2QUzOjFDA_N50T-K3WOeAjZPKwR7s6hN5lPTeJyrRr4XRUBCU53pQyvkWK_W31Kv-FL86OZa3e09UrrpBeNvy-hIbeJF2a8hXlbtbFVgqJlE93Ac14BeKOWnHJ0BNHJXJ02NvTWg7YBr2CG82I_qldOoVDqe_MeCpjq7kFWDM3Irh770fMewusoKEZLZj3WWDxGnYynpEFCIthpQ-KcIasPyG8Wvqi5TqW6wi66KKaR7ieZJUo388csWuG-m4kd83prfVTWXTOk5WVDM502hRxNx8k3duCEDRUHRLyev-sQ-SSVe3JADOIQcmbDp5IfAKWL33XaHu31s8rsucMt1E-zL9nI0B071UdS9a-dLzG-WtmD_AQAUfBlaL4xnY7V4e75tnWRkF1IjL5sYSEUA0GccHuIdVg896ENs2p5bz5g-xvDZf4ktwXjC_MFPnbMO1HnCAcySkjBeO-9WEJafYk2zJEr7W8Ytdzqjg_uO0V5-XUQcHUh3MLakJwnVIlbAfQ-IJaCJIyTaq8aBEpeZuOr6eztsbcSQVOhVHgDz4lkltWKQ18kUFrRgQCJu3zzUjcqSLwqI3P4LYmZbd0GSmO6EcViti2kjQaSkp962HslSRdK02NQUPlMt6RHkzqCoVQiCaSfulCOJ-ShpVNNVT5ZAykIRRGIMDJstEk-5RvAtT9Xkf1AWo1zt4EaMXV09rXuaHUNlfUJuZzi5Qb-UwCEnHoE3hsGRFl9fnfU9NWXxfKwQuL74Cl_G6GbuNDpHW60gsdPD3_tbmRtO39s9W5c0dqWLL3NtSelEWUdkOwtBcODsyZQnlu74PinBrMCcHwXnnM7HDdd1nayhkxA3kNsvoAV9up9eZPyr4a-UOz-5xQ1VdJBrQk8xPoUd61qB_4UUWGfni0JUmu4HI9WgWbCoIC0Kdty4212Dv1Z6I4v8o2cMAe4XEtI0wx7YCddr3nHtFKFTV7xHDZukBmZpbmtqGuqBlDLkvjvqbV-BnpNf-AETilUfWD9CSm5dQvDpr57D8aiMqymqHsDubSVfcnHEM6e6iHs3sm0LA_0d7W7b0OmTVWDdRKME8MdstqZK3JzqX_vx-ibeibRfF3P38yOowJx62XZqk8AfE2XKhseyT3c1h9fcHQJCpbfMfc7h5hLudZ78HN1JYlXfnQ8Ff0Sqd38eocna5RK1_sq_3R9BJwAX2XukZmggbTsprix79w2MtWbxPmvXMMzAK8lEJastngp5Q7egoMNu5p9QcI3VkARWv3hX5Q8y3wen65IyX-vaSMoVYwAnL9fiTNZyKeICscW12LO868bRk0tzpCn2Hd0hE7Az2a50T5XOJcmIjuJuwAAEV9SyVD_KYn4B92RBJ_d7TkoMosLaD3O6w5Z9ZRLTzxgVHEG56n_mrnoda-hbgIwBew6sAjuNGtI74XeoRry-S9TBxgRNoHlAFjhTcTGdXqHmQSyVL5I-EES0a_lsg1bx1BGNP8Yux9idMEUhlPhm1z4khtI1Njao60fCBWAgNQzvczGPF-7Mk4WEqqh3EuLHEfZyJSQcmpuM_Y2CWqBsBZnPX8Ui3j2ze8at0fJjqDv7AfpWeo47wZ7CqlStM0VepxYKynaDS35EEAegDGVf2-vFAvuVKulpC4vI5sK_mD6pa9R_kGbVl7xHGINeTibelClsIefGVb6uMJcHM8gPFhdSO48rjmXVDpD35twORjJjcShTEvnrFPB4lTH9CvLibfUlCz5jqb7f8Oq8xE1ysfjgBhfM0BysY06lvfFpWfAfOmXR0lXjT80c4-9NODMKmISAzEBwjmqHNkVmoZZTOIxSDS8EQzGKGOZmRnhKeMF_yfbgVDHQ_h3Xs1EtLbPduoS2O3Pn-1JziCjZDOyikhu0TE6rKrcd8kCv6fllr0Xh5OJULMpxetwy3xFX6MmOC4G6SNBSwGpVQahPlPHu3IzhyhIXMXSNMwxOVKhElXnLEQ7W_hqshcqjvkeFEzRlI3IPgi-XPjhcUUojNw7xELXplrtlBiK6yGHY6sr4324Fbibt7XHQE-MwEQ66B_SzKDMC5EAu4ID8PX03wljQ2YL1D4U0jZV5QBx9kkXBJZC90ww2V8kRqnq9AZi5xQqw0Ww8Tl4IR5fhi_p8oWFOlmGlHqIDmZbG4i52ssmt6s0DrY6Tu6IgkcG8eBw2fl-vOEBsMBuIJ8AOUYAZ_J0oxuAHAfAxYux6NTCijobJ3WTVmiPJLySnxW2n7EV0rFcGHExRkkdRRaDWA0yqg1tPlAIPYy6B2m-dLn3Mi_mHvcaYDmGmJOn9RXfDjjjFlo5dG18E29oibzmfoDcbY9Gw3GlfVR7cJmYvGCyGhVPGgOYJSRCUgkUoduFaCDwBKUfHbvUKI4KKF69TM3POIiVOOs4adcJy2Ib0eqqEDoo2T0_PoR_vOxulSjmv-LtKHTfOIxQt3YbdWD4VeMHacKsbhTQebLb7JuNxyw91-wD8wxVuCQCn6ArbRqzF_4K7OmMEqtPoaO0LnUDVfF8YeP0V4oQPs2qVqVAwQNMMRc2sRi3gLF_-l30XGy6EhrIBAVgJlWRq3N_Ghbr3id4mk334QsN7ziN-QLBsFweH1hC7buP1a-NQcxA207jhbr0pm9pOtHYiMtGKbu3iR2cKm7LZpLX7DOVPLhGRwiehI_TcMlkyyQRmjinTNu-Xil4keLsh0jNJSP7xGKTALRqHn4BcRpLPrwm3x6QrmQlT56e3cRkPK5tANlbexn9CzsIpHtOYoOv_cUEMMB_qYH2vs-Rs4xg7ginIPlhB-kuL71DTasld-HsNYgj4Opf2W_MauQXCbWOnEN9isaGMXaBaThQYnuMRJAfkAhG9cT_ETBSLHUjpqXNHWar6LlGE8t3XsHGNk-_diKC5mwGcn8D4DKpda18YbOjUnjjCbGeaTGp9KhQLUKBHZ6eGRJxA_eLbrT7HMJTJ-Zq5zJrnrGjbpfzSuMUcNeBGdvIpMKhxR0J0PgwPeZ32NMa20rztgziHmlVYsQDsYaPr1VyH90iHoOVlhcOF8s-DfPH0lK6no16ixg-TCOoBMoaBvUKgGxWzR3aBkpFxCPfCGpMz6aNK2Lt_mDoTQuMiinBZkvkp8ibjmhGycJkeFHxhtEvckMFw4E_zpx3AIXuf9db3ZxGrAFRyMCaFOptmy3yh3_k5RFWw88vhimcdjduLJHKjMTlE55GJ0FWjbfVIzXf9WXcYL7AMym-c4T46gKxcFi0WLDkTv_F4N-9dD-iCHTTvvLBq6Smlky9Z26s84j6F78164wBzTGjZ9B9ozZ4TA5tqPF4E_pYLT7RkzUfnJfZxuJqYCgLcjCLEByFDdzYl3H-49e88pKgUwMAIHeGFfiH5OuqEgANt26uSNa-8h1texeDycdWZiczitv6p855rlRLvFFkiKmNfgLArOJWcdEFt17YO9o86dcqGJu1V19vza3b_vnBy_EnRYqJp33pvdSybPG8ZKEeIs4weM0VLAA44r4GIGLJHVom8vctcbYiA56S41KVnae4mzHhlACSMtTiYd2ogSnHmlIErPJ--Vhw6zqqFEpz2AyDH8PkuqmBXwhSKYpG_mxrALz9F8FiYL9y1yrn8VuYK27HzttMjS1h3IaIBTKEGu7pS8F9qfWgIYX_rK4-SFYzqEx2S4uxEJW_uiHlJFIbn2BbLdzyrBzG4SfNeOmYO0jltS4WjNYKx6dOHSOQ-ZG7bm5283i4PvNGh5L7J06B1JjNrcl4Wf9m3RVUOrGSLq0rAcG-VpByeXZ0eBpY_4bcxzK504TIyeewHNujCYcUdxO4eCzVLtZJ5J4nQyrDY7LGtpez1Q5Z5cfuvyCHP0l170C_RkvKr_lk6yO7Gqz80SbIwpMotu91mL-2asWCz9E9X6vzH-GMBNdVoH0t3I9SsPxRcPpFr9GgVPIL2Fyb-TVbdj2I5FTfhhJXZt4y61y79ITVBs9t6mZI6V0ita42FW1CdQIgSHDbcS1Uk7mYSFQSlt_GjvwR_bilqMikbBG1G1gszOnwF-0KAoqGNMMqk_vuDJS1jAes-ia4e92jdtUQ2H8gfPzahto3hWfOdHsq3z_xpoD8oFrwUedxbrMuQgQOni4V-O4lflMD7q48XLGNDX4bvvybkEzZyYJjDg2pVNgPC6rJENGZeODHVzuZcfp6Nz3HQEB7xz5ro57c9na0KLU_qyO-XnAbk3FyBL-xxYytGiJZXmsJAI8BdGJG4MWvQEGenQrXVDtOht4LkGfecV_tmHgcsltsnpZtS6sCg5YUA6r3mA1cZsECO78EJ4yQiAj8n8onhkYkohSvdJ6UxNNPDUZc104elwa7Bk6MxnHOTnO8IuqCM6UQu2QZo5lN4imN_CXxBT7AC0BgUu1Pb7TKBP_A19wHGNlHp1ACXyhRXhPJlgAZA28GYOC77umLt5_pIQaSd281VxkcL65su0VT5sBSKCUGUvQVbT-FHTfuwAU0yhHluBZtN1uYN2xLPn80jL92lIySsH2XEUJJ9CIZdbW9_UWLOWkMI349Gd9mnwQu6q3diAneHIHE5w-wDE1k_2dWiRWiOC7THlhJAFMlo5uJGTJQsXqoIGFE2vQe7TJ5PFQO0cbVn2gvopIOxk-xGTPovKhtkX2SShEN9pGJPVMjbpDgbehCd0hCAvR6oY8gE8GIHYdxmlmocPxHuqvB3E8Do7o98MEKzINIjMJEonQp8qftnSMLkdtidguCfImDV_YIq3ewn-pKRfYtXCais6t5ejp0KzJZWzC3Fzd5JE-84wgQn22U_tsmjRkDMyG9EEZpj339GFhQ4fmh6mUIwsqWERQBsxuGxKWExl3PW-vbiDumHzdvzBeIVB6jQ8ZQsv7iKelBEwP2VCJIIINPcfK5d766Ix3ek0o4bVzCKnigSufHxAwL__0wFPAr0sNWTVqXvalO6d5WHwHmcLZrGMJHxe-9Z57z4I4Mu_Sre2-LOI_bUd1v0IsStRO5CSAwXjLFYH0dR64f-CAgMu2PzLpYDEzDkmks1_nYup3x4K0F96tCAAWibjjHZ_1OmYMBgy67sZfVYEVvl-t5hemge_J5LjMWk0nzqTcLBjBkHi-Df8abU5kzayDfioksjRTdwkHTagoT-tUyEKiHWk-gUJUvJxoGq54YGg6gDdn9lHqs8oIpB9Xzx9mStvXu2d7y1EY5AoIIDAhzHmmvriDOTDA_ui45eR8o47XecwddYTcJwMhpADjGU2jEkRWijmEl8DUjJsa6-4bV26BlmluYxpbxJKoRsHxepYLqMHPIyOnReRzT0PHN8FfhyIh8KLwYVR3sUbt6mZdrJo-yqLBWCB2alqbqI_W-J2u7PyUpNOnu3M16j-kOh5j8LCRNineNvlo1V9MHGFSZ9trWV6kS3qF-MJ24C4mXpGwYj5YY8jS1ceqWz3XqAKn8VJf5NaY4PDAPqSViTTPiJGvQUBKQ9s8VMlX5v-IXbBzeHcDPYJ_7Z7K7udNyZMt9y3GIsBJ1Hp6FwcbB3XzXUm94KHeYmw3e3Vp28RvMFX1YIDG4ILoQPpO31dehmbu5BrC8KvZssMBE8rmvEpEHOe1tzPrJHF3FYbNvnACCSSY0OvP4L1AEC7uSRxgqaibn8Q6xA3P-CaTZJS6UIWyPPQ8NOF1HyaBDxb1BoXtJdvb91HXjSIwWsw44N9ViVt-_7x6X4uHeRVcU5xV1Z0tvYqZO3SG2oziIqd99yvE03rUz10uUSVZFfSYQ_ZkyyA0vdK6Vjj0OzQOHYacDVNu-lG7SiF_mLeegsmTHg95Cwzd-r31feBJQ==
|
model_takemura.py.enc
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
gAAAAABmBSHDX8uufbYjHmJGrr1mxCCvKYby-438g7ZPRsB0GuDXDKuYB1sIOnOE3y5h2odH_v0fP44wXTSkTPxPzyZbbGZ85lzM6iUYPbUHYEclIDMf0mijlaKB3NibjpD1QjnW_9uFU_JmwE69gq4yRaFp2wTf-AVIyNhUHJBzIrb05W31053ot2KR_-TDbRIkwmEPE03byN9yV-C1DtCJb9_eb0NvMwlLzpnBbLr3zEhwE0oteZB25YGZFjXjXwULSCJ-edV6naA54yvLUSgusCUPIwhEK9MXwJTi2vxFxf78poJh74jjxAZI1huQqdAGeZVcYR8R_0w4vfUH1wGm3Q9g28GZBpeGykmiHehGmvvSqZlHJS10a2zF_UFw80QMyeRZ7fTtlXx3gDQxIpSQwee_221o6maYijCYodEEUP-wfNPkM3J5bc5efysTKF5JzBVc6K385vqNy2dmz1xsay_ChN3YPhZium49sY1_gXb_BOiNBy4sPFLzaQ6TWobzxfG_8qOk2ZBu5MsPvcSDlJmSlggSZ2RnbFE1BDwObneSgkIja7S8CIZi_1l1jOe5klg_xmCFFD6kSR62c7godD9Wotke6JIAbCUBu3IaypYziYDioXyIhRqzNlw-KJqErM9gQdyy3E_mHxvCi3BxD8s9_48GOUR9M9hbqk8ow1Bl5YXhnP4yEZv6_HlBt0h0I4YGO-8o4qNcbtjPKMtGQPi4fwZs3mlT5nwRbVOylmva3XjhIwbdcxcMEqEmPuRhPYQxiwz7vvxvl18I6kOc3EGvlzE66u9V2ETqAzcnJBB_xAdpyE-SDvBZKFLTPrG4PCaOBMxJBAI7edQjvB5I_hH0QWhVut_zt-JIagpgghoTSTUnRAdlimz6tXeNnlfYc3GwiRqAZmrY1JVGImveTvEX3izjETtjctaXHKA1Vr4DsavGoC4P-iSOtw9WLNA5zWy61E7BG_S1mV8WKH3aepfLnPLK0YVqyjWtw2uy8lFwWsqPHd0dZluUmy2W6ogoEVLaffAca-wau-3dIYNaWgQz8uIOkfIA3znQ2APGifFHs5Udh2wPzUu0A09b9u15pAbiHaPx-X8CGuhLFEt4iQMXfynBVsW1TnP_UqDjW1Jst3_gFE-fKKJClpb3Q6YamiMTzD2kSXWkyGpP2Qvj-Fo_8WjmLmM41cE7tEuRvHyCKylWqKVmmecCa0JcGr3Bsx6NAbij9nBc3mW6V6Xs-HaFJ0ZgN7FrEZH1HL0a3tbKGZTjuhk1-G82FuhXKe5g-TRG5y9w2U8dqCH0FJxHvphkmj_DCgz1ahGA3T2C4NogVGIEANKS2NiLr311osJV8lw5uumfoobMbml5SZ3RWSzkPL-M-Gh7pSZm9TIUZpckqCpBO1eyFaa0cs9iojUyHRSn5IEGyipOuxSob8q2SR1gh9z-WW1atFvsb5xRrqjHnxwbT8KH56biaS4o4rf3vf3a06zs--M7e3MA5SD9bRY7f4MVWqFA6xHAlu2J-7M1JmzIbfIGPggdrRedpyoZLuzt8z-evcXk8C43ZOV0NN6zn4PTs8J6YlOL3UA7tqo9E9ZzCofK-7sayUX3cmythydt1sfeUzjX9ad2UmtRRw6B_dPgA3XHq1D2s_1jKQZA7JmVqg9_l6GTl9TiRG1MIqw6XioymopLkmndmRQIz7LzGHqz4pbBwTlYNpEEIQ1cujMsjH2AgW6bjLiy54La1dyEpfb04o08kpKqNOIKe-53PG9I5e3KzWMgtWvvAL04_4tUccml1huJGf756878tjA-0JApNdKDtD5BMfq021IvcizANrmsHxc6-gN-6Vhps2XaU3tEJgAeNEWrbCbGijUBmo_Ajv64R_BGGMUZrx0Vll4hSDFaRCxscoxhUedNiL7UL3a2RaKZGTuX3zNfGHIoI5N_18_eaDLqy83htit45Um9OzeEfU4CsbX6KCxSKijLCaARi8i1EQc4hl6Ant0PdqrvQ_YJO6prjV4XxCGu327tRX08T03BucUszr64lVdtdG4Fqll8eUeCaBdPwo1yNJ2QuOhYGCv3v22FhzFwHnsSEZMtUTY4vR5j9G57P972cDPKfw-5YOmCnGoF1g07YWyaxXWBuNBwY_HSRlO-rk1GV7eCWapwxTknKsgFG6tAc9YOq_cxOqP3NSRYl0wFZcP_edRbYRmaBqSa39kLIEioINVl47RsEVJOjREfzlbT56JVhHz0iOrne0LP1MqH4tMKXfqVIznsEr8wmoOwgn7mrerqJ7aixqoXgalbpKm0JsRtN6j1I5p9mufPKfVNkJS6AcWhMlEkazAsIam9itvFW-czf1x3cnydCWKBjs0Bfxqb-hwudFqaUX_nnEbrLEwgLVo6CWiAL02JoCZZKARA-WTCQhFMGhNRL6MynpDcDr9DuDz_KNRPcws6LrB813h8bwEhWB3ljIvRLHz8eqc5K8V_t9CNw71sfw8pq1P7pCkdFMOsIShdjDWUqwQ_IOT1d7M6VIrJo2atfme6N70kudJlm1EjhAnupZteI5ehvp6xU2XH2d01h2GyuPngUtGW5bZpuOfiSjL--UjD3lPWWDUpIyzWoa2RTEt0lQO8OqdoRbYZ2CoUyDk8LC5WQbg-P8YBHSZQkPAK4me7F5nYJQXuyFourgnG8_yg3xoylsFUB4sMEWEbhlFO7YSLQadkqrSa-tajk6VY0OH74g5TPrJyqOmKGlS9u_u0hQUyKo6q0BgpbMVAGySBcmEPFyg6Sdnm-sAP70i1kxFUU1gpz8BfSRECsCmqpRdBNDHAH4sxnXTicaP7u4EJnmQ30ySOWX6sGubLdyPl6VgmjOEfBkeRe3-sWD_jGLNDiKdYQTslh8DZpqVj2V9BjDMJKmgE6DYEr9b_lli2caOYmQcbrmrfgS4GIhQtVs9iRfsjs_a7utQ3KnIjiUHt6nm9G0F--FvuDb8fnX5-PAh5Z_bcT5eTYRNpOO-PxLTTa__fzX4sSwIPFFq3t8uG99QzWeH4NbqYOHpI4hZppOSACn-NOFCwqdNCjlqKcu62c_xC-Z6MjCQaK443gAhhqktec8sWkwDJ2nFO81suQPSjeE5Q-VyUuVoEoSRNjvWBB3xu6OYewC0yHtXePJYQCQ-8mP_Lt7h9MQ_LDX8QynXdqeigfRHeyKLgBFhf3w2fzRDDYRuf8gH90qXsms63tqQV6Ru44w37YdiXOPJKMLVAnr1SUXnWpebuQUiG5NHPG5R2tn8YDIGLyKEMdi6fGUDmrd5eRpR4-cD1p34KdpfjWPmWxOfB0t_cNk3MtSOeby3Kuz-scYziibe5n7ZIqJwKnr2cyuKFLJFZlFS-C-VjIxEKIOPfwCK6r4RenmhdozvBIXFip_2QNf97jTZjOq1WSrmYMLXwp0vVg02gs07XNVUyRr-WIn7uCJM8VzDAsg7FWGkS-l0k6TWsgooAFxBsQ9YPoW6M2fnumCahZ_wR9U322lQWeW2-8EsFmet5RHt398xArNudtxh2fAHSj2jcv7a6Jy81Mz29GKsduc3ue1-9yYNQ97z8YDUvnvn5CttIXtHh0KjlC387sUESGEQUCJVVVaCEdGCz1A3ow7xh2Z6y_yVdI4MY-iJ-MfXyLRLjT9LgsWYtGma9a-krePqgrg5s0eZEsp6JFpMsVGJYyeWODW4ZPzejdCXzDRgyueVdq4b9Y3K5EZnHjxMGVlKW43_QVUMH3VHkrJZwykfHupRsKusMjnimUJx1T_7ogZiq23hy0SP6YBoQm8MwAa9ntT256BvWW-HupRsz5xX8NGi4C_O_SRgbhwxO8pGuxDi8zMGm-9lzXB0Z8lv381J5bUEW3KwU-kZChuQroDlpg-UXONoknjR2iywT1HiRVdfTvTEmpv-MJW_woOIg6Q_7HPVOnVScus28KulsZ5MDRHrhviXmSSQfKXZ8bVnxvcLfKN43NFye5nh6iXmYfgOlP_vhdtUgCEwSIAj6oK8KdEYAax-_Hgf0j_CjfLkefw4zoprGC_1WHJ-F2Ay8kzYbAIxoPoBJWdGwURPnQAdqX4b8PhImhJ3iyhIWpVv_EmUNm0pm206EKITTvsO9KO2m98l0OrmXmsF0h_onPQMrw0fc0Hy_5FViDqoXsfCJ3BxD1OuXxKb1T-oLec_bxFcHlHWUz8qfaw6fI1RVtQo_FaZsXpGx8KiOre-tnTVfCzMYeVOkJZf9Xtkvpy8PK1XzcciWsn5dVAhSkPdaiqFGeuDOklX5xK631Ydm4zyo0gA8zgSqURmqMdHdg90_BhV_k6EL1o_GEQorQNRuDyn8Za2ExmFfPK2cciPSfJEOop5BlD9VPJgGsy169-aPfLygciN5uqSJJ27mPapGUdYadv10umeYgyPu1heO5l1IEYOBpzIn8D-lIxeDE6GOKwupWkSH3Cf4w0Km_WjIzgCQ7klYG4P5ThYTmMD2rtjolLJIF1z5qNYOGPq-H-6Bavq7lNSPOAVaFF2EWvas3g0hS4J-VwzaW57SYTrJiSd2ENO7uHaT1IA7c0ufn_eQmeE454Na6uuVUghyKFmr3Prep7GsEjc7s5WU-1TaKvnUhv2M0N25IFUSXSRkABddPvcLCTMTc0F_R4IeKAngEjUtvT0r2koNHT1LpTnphLMaE82wRO6DjR3o-U0FK07lhH2SibTU_TaqcdOzzvpCtCuK22_s1Bn3eRcyVLMx5OEN_gTqeGmbz4TWPe2GKQAru9gY90bYLJ4AdXvOUhBuZEHQZNRJ8RhhWEqSspBjLiIQujLAA9dC8kIx3Z7ar2NOEwWs7GNXlvy-VUmk4RsCxLK_1P49N2-_aV1Y_ClsnLHeDMQ4OJkKg2uIUynD2iJDCaOj3EqZPt8rsyDkFIGDzOAuLkAcr3DwlV2n7dl3xig2Tg3J9WfifjbS-6U5SBU22VfGoZAnRasjzfA2z-C62S50TZy0CXdBv2g-vBNzU1jkTLzdFy_HoI2drdln2wjHOxUQGm4j2eLq-pgg7jsuQQlilgn8ULSbfBhAEZ5Ydd6NF8wbXOz9MGaUSKK13eh9UCzJr0Pxm4wJSZ2wyzxRQrYkRIakwA==
|
preprocessing.py.enc
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
gAAAAABmBSHm9z36l8Q3FDJhnMDifVxDkLNEFXCYDLazNzIG0icxiyMHbS9oyF1n0gVyH6x_R1RTedIMuz9uO8rR5mMzMQ17zfZoUfVSdg4v8jlVqxbjY91CMCXODXs8RensBtoPXiEG532-BVJjzrDKN6G65_CJpVW63T0Bg6PPDJEa7BLIBNws-FHIrgI_xv55D-SmZyl0AFgsNlrFQDjmWjPL-cFIEsqsnbGqzbRObnw_WU1gsPhyxPoMbxe2sJrQs-xngfkJ-m_IbF1Whc4tc8-Npkbw2A_PG5IzGxQuWxV9lf8bmlp42JXRPRsOzsukv-6WMF7-gSd--q5C0HtTRFNKIxUbeAbUCP9VQVFe8tnri89go9f_A2YdnVyExT0VNubrmkH5l62PQkUyakQMLkB0LF-pyWnsXlYzuvFSGp70L76hg0Z107D71DOi6xve2xdPvsgELQ7hwTZG8LFeTJOBW3PfnS_xQk2UvUQtI7jh4SXPyXMkk3uNuLEEwMLGyRutkPDVh_PfTQW8CL-vH_KnktjHdanO7Joxryvfr97-FkG9D6m-BdzHVWCaEUaN4HIy7JzgdoSAcJQhXq6vIS3rw0XYpOsCx4OeElpVo-SDTHcylzYY--Y4Q9IH0QzXyv2ZTnZRsVPsQ3xV-XMcs0xXm0mR9krtXWr2FFnsE5KMXWMd-95tYxFO6wi_2rEOXld-ib4f8SVy26inzyk03RXoY6vOF-nGSnu60_eHeJ6Gsk7fWRoeEXrEGrn6u-tktx98goVMH6gFCdKCmVhcbAayW_cvHJMOy9lXEuoB_dPyd2FwjQF_iq4WYAq6x3urWQpp3P7B_YzFwzpQTLbhVZssTSsBDHHi9m2ittbw2j-7M6yYxc-kCd339PDGwWtLHiSHGzTGSX5SHvktTZ9LdXSJM9E53FOpiLgeCcyiyCqrsQH0VcxRIELw6TJCKwUk9LQRqajbx4GQkB0pDO7pbn5QbUykY2lGMnmcSSIOaVV-MKKda52qwdj5BA-UQSMt6b0UeLL-MJGwzNIMS7fEH39u35H6kKO1_ynBvqKpkk1Pfg5FSYttiAIfTJJwsRQ8irkuSe-XErtD9IHDHOxIADvS5QJ23t13UoJKlTOt_LR0ZlcxbBmu_3QW_X5AOk-1zSrTPUV4HD9PCuZYxiuVSx3z9kv8aEsWCz-j7AxDqoGykvrt4iGE5xgGyEYUqBPQIGT0mcUGEobQPc3y3mbuyKJZPkn9XexK5Lc2_ZuXQBTexPPt6UvuQQ0SKlfCyKFBZpBirMhiAjopb640lLK7L6CF52Coa0ZkXGvcw8TAse6E5tOVSlDi0sw-St8prG7_8JCKP6_1G-TC6XssjAJjwpCPdWf-dLpc0nxJ14zY17hgaxFBM79bol3yHJSyXB5gMvE6YJlZ2BCQH-K0koVZO_ej5z4QbExy67nTYFr89IBnVhOAAzZvtsPYSLgQvmQAMlHq_1MQXPf6jJAbswjxJwEYVej1env7lMuPaK6Z1UQcd5ZzrivXH28hPbzPb4fxN2x6FlIoElWYgiJSnpV-zT_MaP_10CZAmQvgw7bnLdy9PtfK3IHdeY0VM7fvA7P8ppqV65ggT1VEkcmB5gRxqPFCscIKOoSagGwKC8k3fvUALn4p1hbnRlC_1_Gsxj6024xaiqIVQcb8Shq8VftOv7fZp2aMimBcu6w0ZmvB9T60hfDQeEii6QNtuVLlFTwvE0slU692jz7n5k3_bnY5S86sxMdTK9MM653pF1h9EhSBhLk-Jm9NeAJn6kjX8cuMzkTY9LYTV20aI2PH2fmWaz6agumkEpeDY3GiRMFvsfRVMqyJb7NappGHi5hFmWtQI7FCbI46mo7RNXE3UCtBUk2uZx4cxGaaBXWHyEsel8AQ7aQyaOn4RugAUu14DRaGb0jEWn021r592gqyKuVTpy0wsOxyJvayjhKQOP8B6nqS6muB6EwiJyjvcwU5UuRbi4yf__EBPetN1slWR8Vv1pu7zTldY_z3mh2PNIXWCBK1IxJwY0dG8zs_FlOj3aa5sVlA2ahPpgAU2HhCzdPr_e19FLyJ1DxOxzNVvOzLcjGNW4dsdWO1ahGgl9rnbX9cj0SS7gvd9QwdOixOKZg_tropJZVVxOYXchYBvJL3YyIRJYye7Rm94emrpAcwV45blN_qRbKDLpHTRPghVKbmD9SU8hJAfOMoOrcyiVuIQttnddcukaxFsx3s3aFPW8NHq_Jm0--Q-GsgT9URgOkFwfL1FyM57QBS681TObu5VOEFbPp_WpoPIV9qLvkv-58pIl3wtYFPpRPISvcZzdEZGS-ON0C62_LOed5-6-sLgGBPnTStFzThijEHjXPATGZxcEgOVhHE_j947U6zWvQgHJs5ozyxJPrmDUbYKYhXijTUvM3b29E-t-fW9hVgcitpJaP8NawItaPCSfgWIklcWJ_Am7nWAqJiOt8jzVjGjrDEOzt2Kg7dW_ASjnjrgK2SHDxg3DS7vnF2HcLfkDUFpv_SCuLhLlJBQdJdMXTM6H2gAXTyH9EVvBE_r4aFsJDM92vN4LEgvK7isO_CADr64_XRvw8AmnTzhStaOkO93fuQjpP9Tmws_6-bp2F2uHoqElSCZsRPM1hV4AOT-jAJaZNRVR-RHKVdeO16nCQwQXCXxoEBnNvjCZTjl9qDZIe4sQvfOvvLOYhMFhFygRI0ZukTFWL4WyE-bVecyd92JOKP1wF_Gsr8tdlkqJnGKupAbtttoA4OIe-DFGXP6p6VgElHARivSkxy3iA2JwRmRS-Lvinh-m0VnYuOH4m9WL98ykFIBKDo17YiNxJEFLh3hJ3anxrvr8EBfcd8EGlnH29vYnadSOQADEgJP3ck-FYM8mzVVVIvaVu-_i1YDC5P7xnu0CH5FEV8G7Hu97WDu28TsKnCJydR40MR84DCeXgcatzp0u9jYo6CwoEu3xpgoe6L7JsHFG04ULkWc7c6_5qhpBRzKNeUwRuleZmRP0sIGIvl8bsPiAmcYhqOhiGATiinmKlu1Qi4XIW8eu4RQdaGXBCi0MDCnMOnudIuzdOXubEvJDemca8TjIJWOha_ckKM9l9qOqbmhS-52_Uvnh31BrGZPHx8X6aAnJcwe3c0Hu9_SDRjNPv6XPUUSOKPpjnmIMSXQkWX-uOCeEoJlg03bYKydW71XBH33S8cDyWKo_pv3p19FnBbeOMmGgOVZ2QFxSeTnYDRCkSiOFc1-ov1JG6IDMmwQiCmR-VFUfp5QSsveZZPk677QNekHyxjfbBiZQ8DMw==
|
product_similarity.py
ADDED
@@ -0,0 +1,231 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pandas as pd
|
2 |
+
import streamlit as st
|
3 |
+
from tensorflow.keras.preprocessing import image as kimage
|
4 |
+
from cryptography.fernet import Fernet
|
5 |
+
import os
|
6 |
+
|
7 |
+
from io import BytesIO
|
8 |
+
from dotenv import load_dotenv
|
9 |
+
|
10 |
+
|
11 |
+
|
12 |
+
load_dotenv()
|
13 |
+
|
14 |
+
|
15 |
+
dec_key =os.getenv("FERNET_KEY")
|
16 |
+
|
17 |
+
cipher_suite=Fernet(dec_key)
|
18 |
+
|
19 |
+
st.set_page_config(
|
20 |
+
layout="wide",
|
21 |
+
initial_sidebar_state="expanded",
|
22 |
+
)
|
23 |
+
|
24 |
+
|
25 |
+
@st.cache_data
|
26 |
+
def load_data():
|
27 |
+
# Read the encrypted content from the Excel file
|
28 |
+
with open('pantolon-v3.xlsx.enc', 'rb') as file:
|
29 |
+
encrypted_data = file.read()
|
30 |
+
|
31 |
+
# Decrypt the data
|
32 |
+
decrypted_data = cipher_suite.decrypt(encrypted_data)
|
33 |
+
|
34 |
+
# Load the decrypted data into a pandas DataFrame
|
35 |
+
df = pd.read_excel(BytesIO(decrypted_data))
|
36 |
+
|
37 |
+
return df
|
38 |
+
|
39 |
+
|
40 |
+
# Read the encrypted content from model.py.enc file
|
41 |
+
with open('model_takemura.py.enc', 'rb') as file:
|
42 |
+
encrypted_model_takemura = file.read()
|
43 |
+
|
44 |
+
decrypted_model_takemura = cipher_suite.decrypt(encrypted_model_takemura)
|
45 |
+
decrypted_model_str_takemura = decrypted_model_takemura.decode()
|
46 |
+
|
47 |
+
# Execute the decrypted model string
|
48 |
+
exec(decrypted_model_str_takemura)
|
49 |
+
|
50 |
+
|
51 |
+
# Read the encrypted content from model.py.enc file
|
52 |
+
with open('model_hayabusa.py.enc', 'rb') as file:
|
53 |
+
encrypted_model_hayabusa = file.read()
|
54 |
+
|
55 |
+
decrypted_model_hayabusa = cipher_suite.decrypt(encrypted_model_hayabusa)
|
56 |
+
decrypted_model_str_hayabusa = decrypted_model_hayabusa.decode()
|
57 |
+
|
58 |
+
# Execute the decrypted model string
|
59 |
+
exec(decrypted_model_str_hayabusa)
|
60 |
+
|
61 |
+
|
62 |
+
# Read the encrypted content from model.py.enc file
|
63 |
+
with open('model_shogun.py.enc', 'rb') as file:
|
64 |
+
encrypted_model_shogun = file.read()
|
65 |
+
|
66 |
+
decrypted_model_shogun = cipher_suite.decrypt(encrypted_model_shogun)
|
67 |
+
decrypted_model_str_shogun = decrypted_model_shogun.decode()
|
68 |
+
|
69 |
+
# Execute the decrypted model string
|
70 |
+
exec(decrypted_model_str_shogun)
|
71 |
+
|
72 |
+
#
|
73 |
+
# # Read the encrypted content from model.py.enc file
|
74 |
+
# with open('preprocessing.py.enc', 'rb') as file:
|
75 |
+
# encrypted_preprocessing = file.read()
|
76 |
+
#
|
77 |
+
# decrypted_preprocessing = cipher_suite.decrypt(encrypted_preprocessing)
|
78 |
+
# decrypted_str_preprocessing = decrypted_preprocessing.decode()
|
79 |
+
#
|
80 |
+
# # Execute the decrypted model string
|
81 |
+
# exec(decrypted_str_preprocessing)
|
82 |
+
#
|
83 |
+
|
84 |
+
def page1():
|
85 |
+
st.title("Ürün Benzerlik Analizi")
|
86 |
+
st.write(
|
87 |
+
"Ürün benzerlik analizi, ürününüzün fotoğrafını yükleyerek benzer ürünleri ve verilerini bulmanızı sağlar.")
|
88 |
+
|
89 |
+
image = st.sidebar.file_uploader("Lütfen ürününüzün fotoğrafını yükleyin:")
|
90 |
+
|
91 |
+
st.markdown("""
|
92 |
+
<style>
|
93 |
+
|
94 |
+
.stTabs [data-baseweb="tab-list"] {
|
95 |
+
gap: 20px;
|
96 |
+
padding: 10px/* Increase the gap between tabs */
|
97 |
+
|
98 |
+
}
|
99 |
+
|
100 |
+
.stTabs [data-baseweb="tab-list"] button [data-testid="stMarkdownContainer"] p {
|
101 |
+
font-size:1.5rem;
|
102 |
+
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
|
103 |
+
}
|
104 |
+
|
105 |
+
.stTabs [data-baseweb="tab"] {
|
106 |
+
height: 50px;
|
107 |
+
white-space: pre-wrap;
|
108 |
+
border-radius: 12px; /* Make the tabs look like pills */
|
109 |
+
padding: 10px 20px; /* Add padding to the tabs */
|
110 |
+
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); /* Add shadow to the tabs */
|
111 |
+
transition: background-color 0.3s ease; /* Add transition effect */
|
112 |
+
color: #333; /* Change the text color to a soft black */
|
113 |
+
}
|
114 |
+
|
115 |
+
.stTabs [aria-selected="true"] {
|
116 |
+
background-color: #e0e0e0; /* Change the background color to a soft gray */
|
117 |
+
border-color: #3d5afe; /* Add border color to the selected tab */
|
118 |
+
color: #ffffff; /* Change the text color to a soft blue */;
|
119 |
+
}
|
120 |
+
|
121 |
+
.stTabs [aria-selected="true"]:hover {
|
122 |
+
background-color: #d0d0d0; /* Change background color when hover on the selected tab */
|
123 |
+
}
|
124 |
+
|
125 |
+
</style>""", unsafe_allow_html=True)
|
126 |
+
|
127 |
+
tab1, tab2 = st.tabs(["Benzer Ürün Analizi", "Ürün Özellik Analizi"])
|
128 |
+
|
129 |
+
if image is not None:
|
130 |
+
st.sidebar.success("Görsel başarıyla yüklendi.")
|
131 |
+
|
132 |
+
product_category = st.sidebar.selectbox("Lütfen ürün kategorisi seçin:",
|
133 |
+
["Pantolon", "Gömlek - (Test)", "Elbise - (Test)", "Ceket - (Test)",
|
134 |
+
"Hırka - (Test)"])
|
135 |
+
if product_category == "Pantolon":
|
136 |
+
|
137 |
+
default_product_details = ["Desen", "Bel", "Paça"] # Assign a default value
|
138 |
+
|
139 |
+
product_details = st.sidebar.multiselect("Benzerlik için öncelik sırasına göre detay seçin:",
|
140 |
+
["Bel", "Desen", "Paça"],
|
141 |
+
default=default_product_details)
|
142 |
+
|
143 |
+
if not product_details: # If product_details is an empty list
|
144 |
+
st.sidebar.error("En az 1 özellik seçilmelidir.")
|
145 |
+
|
146 |
+
with tab1:
|
147 |
+
# Create placeholders for both buttons
|
148 |
+
analyse_button_placeholder = st.empty()
|
149 |
+
show_results_button_placeholder = st.empty()
|
150 |
+
|
151 |
+
# Check if 'analysis_done' is in session state and if it's True
|
152 |
+
if 'analysis_done' not in st.session_state or not st.session_state['analysis_done']:
|
153 |
+
# Display the "Hayabusa ile Analiz Yap" button
|
154 |
+
analyse_button = analyse_button_placeholder.button("Hayabusa ile Analiz Yap")
|
155 |
+
if analyse_button:
|
156 |
+
# Clear the "Hayabusa ile Analiz Yap" button
|
157 |
+
analyse_button_placeholder.empty()
|
158 |
+
|
159 |
+
status_placeholder = st.empty()
|
160 |
+
status_placeholder.status("Analizi yapılıyor...")
|
161 |
+
|
162 |
+
filenames = model_2(image)
|
163 |
+
st.session_state['filenames'] = filenames
|
164 |
+
st.session_state['image'] = image
|
165 |
+
st.session_state['analysis_done'] = True
|
166 |
+
|
167 |
+
status_placeholder.success("Analiz tamamlandı.")
|
168 |
+
|
169 |
+
if 'analysis_done' in st.session_state and st.session_state['analysis_done']:
|
170 |
+
# Check if 'show_results' is in session state and if it's True
|
171 |
+
if 'show_results' not in st.session_state or not st.session_state['show_results']:
|
172 |
+
# Display the "Hayabusa Sonuçlarını Göster" button
|
173 |
+
show_results_button = show_results_button_placeholder.button("Hayabusa Sonuçlarını Göster",
|
174 |
+
key='button2')
|
175 |
+
if show_results_button:
|
176 |
+
# Clear the "Hayabusa Sonuçlarını Göster" button
|
177 |
+
show_results_button_placeholder.empty()
|
178 |
+
st.session_state['show_results'] = True
|
179 |
+
status_placeholder_2 = st.empty()
|
180 |
+
status_placeholder_2.status("Sonuçlar toplanıyor...")
|
181 |
+
|
182 |
+
if 'show_results' in st.session_state and st.session_state['show_results']:
|
183 |
+
image_dir = "general/PANTOLON"
|
184 |
+
df = load_data()
|
185 |
+
st.empty()
|
186 |
+
|
187 |
+
for _ in range(5):
|
188 |
+
try:
|
189 |
+
takemura_output = takemura(st.session_state['filenames'], image, product_details)
|
190 |
+
filenames = takemura_output.split('\n')
|
191 |
+
|
192 |
+
for filename in filenames:
|
193 |
+
filename_without_extension = os.path.splitext(filename)[0]
|
194 |
+
filename_without_extension = filename_without_extension.split('_')[0]
|
195 |
+
|
196 |
+
matching_rows = df.loc[df['ItemOption'] == filename_without_extension]
|
197 |
+
|
198 |
+
if not matching_rows.empty:
|
199 |
+
for _, row in matching_rows.iterrows():
|
200 |
+
cols = st.columns([2, 8]) # Adjust these values for desired widths
|
201 |
+
img_path = os.path.join(image_dir, filename)
|
202 |
+
img = kimage.load_img(img_path)
|
203 |
+
cols[0].image(img, width=200)
|
204 |
+
# cols[1].dataframe(pd.DataFrame(row).T)
|
205 |
+
half = len(row) // 2 # Find the midpoint of the row
|
206 |
+
|
207 |
+
# Split the row into two parts
|
208 |
+
row_upper_half = row.iloc[:half]
|
209 |
+
row_lower_half = row.iloc[half:]
|
210 |
+
|
211 |
+
# Display the two parts in two separate dataframes
|
212 |
+
cols[1].dataframe(pd.DataFrame(row_upper_half).T)
|
213 |
+
cols[1].dataframe(pd.DataFrame(row_lower_half).T)
|
214 |
+
|
215 |
+
status_placeholder_2.success("Sonuçlar başarıyla toplandı.")
|
216 |
+
else:
|
217 |
+
st.write(f"Ürün isimlerini maalesef eşleştiremedim {filename_without_extension}")
|
218 |
+
break
|
219 |
+
|
220 |
+
except Exception as e:
|
221 |
+
st.write(f"Hayabusa için Lütfen 'Sonuçları Göster' butonuna tekrar basınız.. ...")
|
222 |
+
|
223 |
+
st.session_state['show_results'] = False
|
224 |
+
|
225 |
+
with tab2:
|
226 |
+
shogun(image)
|
227 |
+
|
228 |
+
|
229 |
+
|
230 |
+
else:
|
231 |
+
st.write("Please upload an image.")
|