From 334856ea4772fd1da6c94d5b8bf73865a2889bc0 Mon Sep 17 00:00:00 2001 From: Adam Drake <drakeadam02@gmail.com> Date: Tue, 26 Mar 2024 11:53:55 +0000 Subject: [PATCH] unique model ages using model id from database --- .../__pycache__/models.cpython-310.pyc | Bin 2068 -> 2099 bytes .../__pycache__/urls.cpython-310.pyc | Bin 692 -> 701 bytes .../__pycache__/views.cpython-310.pyc | Bin 4726 -> 4854 bytes .../migrations/0008_post_slug.py | 18 ++++++++++++++++++ .../0008_post_slug.cpython-310.pyc | Bin 0 -> 562 bytes prediction_service/models.py | 2 ++ .../templates/prediction_service/home.html | 4 ++-- .../templates/prediction_service/model.html | 2 ++ prediction_service/urls.py | 2 +- prediction_service/views.py | 9 +++++++-- 10 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 prediction_service/migrations/0008_post_slug.py create mode 100644 prediction_service/migrations/__pycache__/0008_post_slug.cpython-310.pyc diff --git a/prediction_service/__pycache__/models.cpython-310.pyc b/prediction_service/__pycache__/models.cpython-310.pyc index a816c8d5f45461aab09635255c5b3db20fb18242..15590b8ccf50e016329f9c1ec0390f98530e20b8 100644 GIT binary patch delta 186 zcmbOtuvvgNpO=@5fq{WRZVgkK<wo8#R>rc)C9JAJSsW>>DQvxrQJksF3%C|CL~*Aw zXYr)+X7PbV`BRy*1X2Z4nX`ma*n63xgu#3fFrPJrqn9~KG=(!&ER89JD}}p-B}zPn zb@F{y8D2k4#v&C428JSb1_p-79Be6!dXsb6BpD?px3g&o-r@|-DNT3FOwCET#ZsJ8 bnm&0wTL+&I0|NsG0}mqzaxhJHX1@pkq{u4} delta 174 zcmdliFhzhjpO=@5fq{XccR5oU&qm%fR>rK!C9JA$3pf@sL~*7vXK|%+XYr)4_A*BC zrZQ*orShjTX9=XR^)f{Xg84#VK6?sBFLRV|3TLWF8dC~a3U>=jlxPb3<kze+yqb(f zDhvz^MeGa=41SYE*ixi*7#J9enHU%t*chvL0`iMX^y1@-ON!#-HN_@RX49B_hOL7~ UfPsO5gMo*UhmnJEauWMR0C3JGg#Z8m diff --git a/prediction_service/__pycache__/urls.cpython-310.pyc b/prediction_service/__pycache__/urls.cpython-310.pyc index 6bf177723f1d0bf87a5345a8a1cfc8157772fefc..9f2994d2839fc75aa767c828c4981c8223b8366f 100644 GIT binary patch delta 80 zcmdnOx|fwVpO=@5fq{V`XERgU<&C`S7zG7$b8_=jQgifeic5;D3bO4cA7*Tozr_v} fzQtWylv9vcQj%JfSG<y;NRWYnp-6CYI+HH|35ptR delta 71 zcmdnXx`mZDpO=@5fq{X+#Qa0*$&I}07&$m{b8_=jQgbGsVQiI;Vu$i>ahDe56eO0E Wq!#5BuVg3^U|?V<5|~`T<O={Kmlp#7 diff --git a/prediction_service/__pycache__/views.cpython-310.pyc b/prediction_service/__pycache__/views.cpython-310.pyc index 437076524b6908ca7b4458e7e053daadbcbc497f..0dc6061a5ae930dd20530bcc4a1593620eaa8778 100644 GIT binary patch delta 1358 zcmeyS@=cX5pO=@5fq{X6Zwpfzqu@k78O9?MwO#62QrL4ibGf6q85vR-QaEyWa(Sb8 z85vU9QaDq%S{Rxcqxe#|Q+Qe!qWDvIQ}|jKq6AVHQuuQOqXfaUP?Qju7LF1D)1tXz zQQ}~;_;VzpBvKes1ac&ErJ|&uV$xC4scb2NDMDbgW!O^qgBdi1C%%a0VE6U$%}+_q zne4#0m{DNz6Gm-e0R{$!Vh#od1{M~U|9mVwOhrPIm6)>C`4|`&ia?SOLXd%h;TCIR zQhsTPG)M;%0|SEqW0A<@Ell4SMJKOjcB}{MkN{~D0}*I?If_!#GmA@7i{wGtMHm<u zxR|&YIhZ(@c$h>OIT)FKv2h46gJu0R8E>(A<|d}6CWEX2g(wK~GB7a6FfcGUgA52^ zWMC*^$YRW5s$ooF>}9NFk|<%WVaj4@W~^l{VO_wM&XB^ih!I3iE@X*h6qtOPMY&!S zA_6BR7c$ne)Uaf+r-(^1)UtwE;*t!tY$Y67oGIcd;wcg-lD*6^OttK_95ozSTs15y zQYq5COpFXA+zWUXGSqU`uxIhsaHhzl$bv*`I2Z7xh%IDfWGLZZAW*}(kg=8vs*<~g z%Q{Q2hC4+LqO?S4fp87?0+EFb3mF%PrpPa3tmP>Yt6@k{sNtz$PEnl0)XW^rps553 z4W`VL$%0(slMk>)PTs)EKY0R|_+$gNn~W-x8@W{`>#?^mYE9nA;X3&TyCsChwjC4& zhLdYK>KF|t|KZSMQ-=r~WVN51&&kbZ$iTqxQg$*Urw04W`7kL50WB~SBzFTu2ux<= z)MT>-3r;@BYA`vDOBA9tdU7G39!zE}mjkyqNc|s>N<EO2j~9sl7eu@T5$8cNL2x1f z!~(nF7fAL4h-(32^@CV0AQmX9U%mu!gC~FFHd1|A4ieo65{SekUM7LWEGHjimEn1r z24aIuFVdg<k-HM&;?Bt*xr=#<VqkJFEfE4Q|AWkqLkJXsbiYhM6DZO_5{L&G1QkdG zu|ZmjbS58URhrzx&%>BBc_x3PfhN-}_RQS$_~MeHTdX;Wm8nIV;zgVw<vbul7L=`+ zL6U4>$>Pa>`8{|PK%y-91*v&O(vt%P^yGPqK$+_nQ$hAE_S~FYP!^8j0&7UlFU>2N z+$vzJo&qutHPaQ9FfcG!g0l;#RAT00<YJoqQ9yH&Ajf1WL2+IVCMHIX|6o;`vXiX@ z^O=e`CodCJPz9A@MM5A0K^YaCDQ_|57Z+tSFfc^1=9T6aR2F4Sek~{;lm!;aEyzhR zzQr8i=~D!9dr>|}E68$4;eqO^TO2mI`6;D2sdkJYr)hvn5(XY79!4HE5IH$YNCp5n C`#Ylm delta 1192 zcmeyS`b~u|pO=@5fq{WRd*g>xD}jl8GK@PWYP-}kq_F33=ki4HFfydFrEsKhwlFj^ zM)9U_rEs?}MDeBYr0}*dMDeFEr10ekL<xXt!6-p6EfggTrbTi^qr?~)z-;j-@f3y> z{v3&1$tX#vm{gQhDqD&`iXhl*=@h<T22G)tAjfD<{1rMmig5uW|K#6{+QR${3=G8_ z3=9k`EG+-|Sa_I<1SeZEWvlZtFfbH>Bq4+V0|Ub?*2JXz(h@0<4kiW$1_8z*;mN0& zzA=hSKE&*(0oEZ7(k2Qb(DZT?rKV>Vm!uZSP1a_Sb&z9VVDQsqyv6F7o0y)O%m{KB z6oZ0HhJk^>8Dx(YBLhPT!ve;1h7`s{NaW;MERl@-lfSSi*CWIw7c$l|)-Yx<rHD#0 z)G~otVv-EC%q7fOEGc3sVkzP&61~hZOtmbvtTn7ztTl`&k||QXOpFXAYzx>IGSsrw zuw-%6u%$?+$bdv^*cNc6h%RJgWGLZUz+J<(kg=8>s*<CIJ&UJ?BSlshqO^o}0bdQr z0{(>z3mF#(q{uB~tmP~btYJuzPf@7h%w%k44rb6)^xJ%qHJ_1DX|f~x3Pz2|AK6?d z>vLE_Slrt|!KTl^!0@tm@<tww$qzXK*}z<j$s2hz*;K*OlLguA1z&=K`Q>x407$(o zSp9uYHb(u)AK4t(G{7>Gb-0Y#tRYN6HiOAixkMr6MNbxF6Q3NwCJvK*!sWo`2{P!< z<avBDAQ>MI5ce;Lcnc!VgNzA)6Mi5T*loW+vL8TPGZ3pE#Bu_$KvDP-l;Vm4CkwKH z3>BMvo10rI9Hau3c$oweGoL(>LzX)Y!~~gKqzly+&hv65Oz>qVR4{@q3M@8Rk++gD zYVvH}I+%bwUnMt04x~T}rXC^|iz*fm;({&Hn!J!-k1=8L1^!6xTkM&+>G8!SMVdmB zBLzHo<UwhlCBGmwuSjb0S^+&at|CxcpZrU}Rvqkew4~0So0FTLlA2=yO29r03=CY% zlM@8>C-(|UatbgN6)-R`Xv$39ESNu8T}W1y6XXU#5FrdAKpEo}Q+{y~C?KL(^Gb6I zDvOdQX9~#&q%trtM6u=;<fItiVh-^1DFQjHC<~+uWF{n|qPc~`CO1E&G$+*#l*5YE UK)IHIhlz)ghmD76@+~150LtJC)&Kwi diff --git a/prediction_service/migrations/0008_post_slug.py b/prediction_service/migrations/0008_post_slug.py new file mode 100644 index 0000000..b91f7c3 --- /dev/null +++ b/prediction_service/migrations/0008_post_slug.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.4 on 2024-03-26 11:05 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('prediction_service', '0007_post_mlmodel'), + ] + + operations = [ + migrations.AddField( + model_name='post', + name='slug', + field=models.SlugField(default=None), + ), + ] diff --git a/prediction_service/migrations/__pycache__/0008_post_slug.cpython-310.pyc b/prediction_service/migrations/__pycache__/0008_post_slug.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c55ea3f9c19189f3acf952c4eafae7bb8abaf704 GIT binary patch literal 562 zcmd1j<>g{vU|_hrnklV;k%8ech=Yt-7#J8F7#J9e)fgBUQW#Pga~N_NqZo6UqL>&N z+!<1sQkYv9QkYX2vzVKiqnJ}zf*CYfUxG}~WV*$bo0(peSdy8aSA2^tH$Npcr#KlT zg^bx?7U(cAFr+d>F{Us?F{Lo3Ge$9|vShJ>EJ$U`Voza7VeMs1Ve4g1XN=+iTf=^f z(-&sGCetmUf}+%v%w&*l@x`e{WtqvTQGx~r2Ilbv`NbvixjA45++qRoZm|^Sl&1S> zGTvfONli;E%_-4jzQqMr5TBQrn|g}{OtPkBrskw*a^B*I2Mfo?-{Ojo&&^LM%}I@q zzr_<DUs#%$15yg&rKA?5=B1?OC1<7<7cns~Fx=vBOi6JA8BxRx;&KM(l%|9Ex47~P zQlTNUlA%bLfdNANGSN>gDA33Bi9RAE^$iRREFgXYc|xzCvIrDOpl~b}Vqjq4U|?cq z`Om`2#K^?R#mMrP<3Cv5Pm|>qXG&ILUV6S>N)p(8U{`@95iWqRL_p5vuz~p0ju909 KAUgz@#Fzou{*wm) literal 0 HcmV?d00001 diff --git a/prediction_service/models.py b/prediction_service/models.py index bf14a76..22fa64a 100644 --- a/prediction_service/models.py +++ b/prediction_service/models.py @@ -35,6 +35,8 @@ class MLModel(models.Model): class Post(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length = 100) + slug = models.SlugField(default=None) + content = models.TextField() date_posted = models.DateTimeField(default = timezone.now) author = models.ForeignKey(User, on_delete=models.CASCADE) diff --git a/prediction_service/templates/prediction_service/home.html b/prediction_service/templates/prediction_service/home.html index 8bfd38c..295a48d 100644 --- a/prediction_service/templates/prediction_service/home.html +++ b/prediction_service/templates/prediction_service/home.html @@ -11,10 +11,10 @@ {% for post in posts %} <div class="card" style="width: 18rem; margin-right: 15px;"> <div class="card-body"> - <h5 class="card-title">{{post.title}} ID: {{post.id}}</h5> + <h5 class="card-title">{{post.title}} ID: {{post.mlmodel.id}}</h5> <h6 class="card-subtitle mb-2 text-muted">By {{ post.author }} on {{ post.date_posted }}</h6> <p class="card-text">{{ post.content }}</p> - <a href="/mlmodel/" class="card-link">Ml-Model</a> + <a href="/mlmodel/{{post.mlmodel.id}}" class="card-link">Ml-Model</a> <a href="#" class="card-link">Another link</a> </div> </div> diff --git a/prediction_service/templates/prediction_service/model.html b/prediction_service/templates/prediction_service/model.html index 28dad7b..8aabd3e 100644 --- a/prediction_service/templates/prediction_service/model.html +++ b/prediction_service/templates/prediction_service/model.html @@ -8,6 +8,8 @@ <h1>ML-Model</h1> <img src="data:image/png;base64,{{ img_str }}" alt="PIL Image"> + + <h1>{{ layer }}</h1> </div> diff --git a/prediction_service/urls.py b/prediction_service/urls.py index 3c49ac2..154dbe9 100644 --- a/prediction_service/urls.py +++ b/prediction_service/urls.py @@ -12,5 +12,5 @@ urlpatterns = [ path('about/', views.about, name='MLAAS-about'), path('home/', views.home, name='MLAAS-home'), - path('mlmodel/', views.mlmodel, name='MLAAS-model') + path('mlmodel/<str:pk>/', views.mlmodel, name='MLAAS-model'), ] diff --git a/prediction_service/views.py b/prediction_service/views.py index 9baf72e..d6cf0aa 100644 --- a/prediction_service/views.py +++ b/prediction_service/views.py @@ -10,6 +10,7 @@ from django.contrib.auth.decorators import login_required from .forms import UserRegisterForm from .models import Post +from .models import MLModel from django.contrib.auth.models import User @login_required @@ -54,7 +55,10 @@ from PIL import Image import base64 @login_required -def mlmodel(request): +def mlmodel(request, pk): + + mlmodel = MLModel.objects.get(id=pk) + layercount = str(mlmodel.layers) matrix = np.asarray([[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], @@ -99,4 +103,5 @@ def mlmodel(request): img.save(buffered, format='PNG') img_str = base64.b64encode(buffered.getvalue()).decode('utf-8') - return render(request, "prediction_service/model.html", {'img_str': img_str}) + return render(request, "prediction_service/model.html", {'img_str': img_str, + 'layer': layercount,}) -- GitLab