Skip to content

Commit

Permalink
🎨 unify constructor for AutoEncoders
Browse files Browse the repository at this point in the history
- make VAE similar to DAE
  • Loading branch information
Henry committed Aug 15, 2023
1 parent d805168 commit 6bdbd4f
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 18 deletions.
2 changes: 1 addition & 1 deletion project/01_1_train_VAE.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,7 @@
" val_df=data.val_y,\n",
" model=models.vae.VAE,\n",
" model_kwargs=dict(n_features=data.train_X.shape[-1],\n",
" h_layers=args.hidden_layers,\n",
" n_neurons=args.hidden_layers,\n",
" # last_encoder_activation=None,\n",
" last_decoder_activation=None,\n",
" dim_latent=args.latent_dim),\n",
Expand Down
4 changes: 2 additions & 2 deletions project/01_1_train_VAE.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# extension: .py
# format_name: percent
# format_version: '1.3'
# jupytext_version: 1.14.5
# jupytext_version: 1.15.0
# kernelspec:
# display_name: Python 3
# language: python
Expand Down Expand Up @@ -233,7 +233,7 @@
val_df=data.val_y,
model=models.vae.VAE,
model_kwargs=dict(n_features=data.train_X.shape[-1],
h_layers=args.hidden_layers,
n_neurons=args.hidden_layers,
# last_encoder_activation=None,
last_decoder_activation=None,
dim_latent=args.latent_dim),
Expand Down
14 changes: 7 additions & 7 deletions vaep/models/ae.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def get_preds_from_df(df: pd.DataFrame,




leaky_relu_default = nn.LeakyReLU(.1)

class Autoencoder(nn.Module):
"""Autoencoder base class.
Expand All @@ -79,8 +79,8 @@ class Autoencoder(nn.Module):

def __init__(self,
n_features: int,
n_neurons: Union[int, list],
activation=nn.LeakyReLU(.1),
n_neurons: Union[int, List[int]],
activation=leaky_relu_default,
last_decoder_activation=None,
dim_latent: int = 10):
"""Initialize an Autoencoder
Expand All @@ -106,7 +106,7 @@ def __init__(self,
self.layers = [n_features, *self.n_neurons]
self.dim_latent = dim_latent

#define architecture hidden layer
# define architecture hidden layer
def build_layer(in_feat, out_feat):
return [nn.Linear(in_feat, out_feat),
nn.Dropout(0.2),
Expand Down Expand Up @@ -192,15 +192,15 @@ def get_missing_values(df_train_wide: pd.DataFrame,

# def __init__(self,
# n_features: int,
# h_layers: int,
# n_neurons: int,
# activation=nn.LeakyReLU,
# last_encoder_activation=nn.LeakyReLU,
# last_decoder_activation=None,
# dim_latent: int = 10):

# super().__init__()
# self.n_features, self.h_layers = n_features, list(L(h_layers))
# self.layers = [n_features, *self.h_layers]
# self.n_features, self.n_neurons = n_features, list(L(n_neurons))
# self.layers = [n_features, *self.n_neurons]
# self.dim_latent = dim_latent

# # Encoder
Expand Down
16 changes: 8 additions & 8 deletions vaep/models/vae.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,23 @@
from torch import nn
import torch.nn.functional as F


leaky_relu_default = nn.LeakyReLU(.1)

class VAE(nn.Module):
def __init__(self,
n_features: int,
h_layers: List[str],
activation=nn.LeakyReLU(.1),
# last_encoder_activation=nn.LeakyReLU(.1),
n_neurons: List[int],
activation=leaky_relu_default,
# last_encoder_activation=leaky_relu_default,
last_decoder_activation=None,
dim_latent: int = 10):
super().__init__()
#set up hyperparameters
self.n_features, self.h_layers = n_features, list(h_layers)
self.layers = [n_features, *self.h_layers]
# set up hyperparameters
self.n_features, self.n_neurons = n_features, list(n_neurons)
self.layers = [n_features, *self.n_neurons]
self.dim_latent = dim_latent

#define architecture hidden layer
# define architecture hidden layer
def build_layer(in_feat, out_feat):
return [nn.Linear(in_feat, out_feat),
nn.Dropout(0.2),
Expand Down

0 comments on commit 6bdbd4f

Please sign in to comment.