Untitled document-1 - PDF to Flipbook
Published on Aug 13, 2026
Description:
Name Nazim haikhRll N 4 Bath -
_
Experiment 5
esign and Implementatin f Autender fr Image
mpressin
bjetive
T desig ad implemet a ateder eral etwrk fr image
mpressi. The ateder will lear t ede ipt images it a
lwer-dimesial latet represetati ad restrt them bak t the
rigial dimesis, effetively mpressig the image data.
Thery
Autender Arhiteture
A ateder is a spervised eral etwrk that lears t mpress
data by
1. Edig Mappig ipt t a lwer-dimesial latet spae
. edig Restrtig the rigial ipt frm the latet
represetati
Ipt → Eder → atet pae (mpressed) → eder →
RestrtiArhiteture esign
rigial Image (784 → Eder (6 → 18 → 64 → →
atet pae ( → eder ( → 64 → 18 → 6 → 784 →
Restrted Image
Mathematial Frmulatin
Eder
h f_e(W_e · x + b_e)
eder
x̂ f_de(W_de · h + b_de)
ss Fti (ME
(1/m · Σ(x - x̂
mpressin Rati
mpressi Rati Ipt imesi / atet imesi
Fr MNIT 784 / 4.x mpressi
Appliatins
● Image mpressi ad deisig
● imesiality redti
● Featre extrati
● Amaly deteti
● ata geerati (VAEsImplementatin L_EXP5.ipynb
imprt mpy as p
imprt matpltlib.pyplt as plt
frm tesrflw.keras.datasets imprt mist, fashi_mist
frm tesrflw.keras.mdels imprt Mdel
frm tesrflw.keras.layers imprt Ipt, ese, rpt
frm tesrflw.keras.ptimizers imprt Adam
frm tesrflw.keras.allbaks imprt Earlytppig
frm sklear.mdel_seleti imprt trai_test_split
imprt seabr as ss
#
# 1. Ateder lass
#
lass Ateder
def __iit__(self, ipt_dim, edig_dims, ativati'rel',
tpt_ativati'sigmi'
ipt_im Ipt imesi e.g., 784 fr 8x8 images
eig_ims ist f imesis fr eer 6, 18, 64,
self.ipt_dim ipt_dim
self.edig_dims edig_dims
self.latet_dim edig_dims-1
self.ativati ativati
self.tpt_ativati tpt_ativati
# Bild mdels
self.eder self._bild_eder
self.deder self._bild_deder
self.ateder self._bild_ateder
# mpile
self.ateder.mpile(
ptimizerAdam(learig_rate.1,
lss'mse',
metris'mae'
def _il_eer(self
Bil eer etwrk
ipt_layer Ipt(shapeself.ipt_dim,
x ipt_layer
# idde layers
fr dim i self.edig_dims
x esedim, ativatiself.ativatix
# atet layer (bttleek
latet eseself.latet_dim, ativatiself.ativati, ame'latet'x
retr Mdel(ipt_layer, latet, ame'eer'
def _il_eer(self
Bil eer etwrk
latet_ipt Ipt(shapeself.latet_dim,
x latet_ipt
# eder layers (reverse f eder
fr dim i reverse(self.edig_dims-1
x esedim, ativatiself.ativatix
# tpt layer
tpt eseself.ipt_dim, ativatiself.tpt_ativati(x
retr Mdel(latet_ipt, tpt, ame'eer'
def _il_ateer(self
Bil mplete ateer
ipt_layer Ipt(shapeself.ipt_dim,
eded self.edeript_layer
deded self.deder(eded
retr Mdel(ipt_layer, deded, ame'ateer'
def trai(self, X_trai, X_valNe, ephs, bath_size18,
validati_split., verbse1
Trai the ateer
# Prepare data
if X_val is Ne
histry self.ateder.fit
X_trai, X_trai,
ephsephs,
bath_sizebath_size,
validati_splitvalidati_split,
verbseverbse,
allbaksEarlytppigpatiee1, restre_best_weightsTre
else
histry self.ateder.fit
X_trai, X_trai,
validati_data(X_val, X_val,
ephsephs,
bath_sizebath_size,
verbseverbse,
allbaksEarlytppigpatiee1, restre_best_weightsTre
retr histry
def ee(self, X
Ee ipt t latet spae
retr self.eder.predit(X
def ee(self, latet
ee frm latet spae
retr self.deder.predit(latet
def restrt(self, X
Restrt iptretr self.ateder.predit(X
def mpte_mpressi_ratiself
allate mpressi rati
retr self.ipt_dim / self.latet_dim
def mel_smmary(self
Prit mel smmary
prit(\ + *6
prit(Ateer Arhitetre
prit(*6
prit(\Eer mmary
self.eder.smmary(
prit(\eer mmary
self.deder.smmary(
prit(\mpressi Rati {.f}x.frmatself.mpte_mpressi_rati
#
# . ata adig ad Prepressig
#
def la_a_prepress_ata(dataset'mist'a a prepress ataset
if dataset 'mist'
X_trai, _, (X_test, _ mist.lad_data
elif dataset 'fashi_mist'
X_trai, _, (X_test, _ fashi_mist.lad_data
else
raise ValeErrr(ataset mst be 'mist' r 'fashi_mist'
# Nrmalize ad flatte
X_trai X_trai.astype'flat' / .
X_test X_test.astype('flat' / .
X_trai X_trai.reshapeX_trai.shape, -1
X_test X_test.reshapeX_test.shape, -1
retr X_trai, X_test
#
# . Traiig ad Evalati
#
prit(*6
prit(ATENER FR IMAE MPREINprit(*6
# ad data
prit(\1. aig MNIT ataset...
X_trai, X_test lad_ad_prepress_data'mist'
# plit validati
X_trai, X_val trai_test_splitX_trai, test_size., radm_state4
prit(f Traiig samples {X_trai.shape}
prit(f Valiati samples {X_val.shape}
prit(f Test samples {X_test.shape}
prit(f Ipt imesi {X_trai.shape1}
#
# 4. Bild ad Trai Ateder
#
prit(\ + *6
prit(. Bilig Ateer
prit(*6