Skip to content

Commit

Permalink
Merge pull request #5 from ChanLumerico:resnet-block
Browse files Browse the repository at this point in the history
Resnet-block
  • Loading branch information
ChanLumerico authored Aug 10, 2024
2 parents 143da4b + f3ecd4e commit 7c22a7b
Show file tree
Hide file tree
Showing 6 changed files with 256 additions and 48 deletions.
16 changes: 10 additions & 6 deletions luma/neural/_models/alex.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,18 +204,20 @@ def build_model(self) -> None:
lambda_=self.lambda_,
random_state=self.random_state,
)

input_shape: tuple = (-1, 3, 227, 227)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_AlexNet, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_AlexNet, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -410,18 +412,20 @@ def build_model(self) -> None:
lambda_=self.lambda_,
random_state=self.random_state,
)

input_shape: tuple = (-1, 3, 227, 227)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_ZFNet, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_ZFNet, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down
48 changes: 30 additions & 18 deletions luma/neural/_models/incep.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,18 +179,20 @@ def build_model(self) -> None:

self.model += Flatten()
self.model += Dense(1024, self.out_features, **base_args)

input_shape: tuple = (-1, 3, 224, 224)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_Inception_V1, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_Inception_V1, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -383,18 +385,20 @@ def build_model(self) -> None:
Dropout(self.dropout_rate, self.random_state),
Dense(2048, self.out_features, **base_args),
)

input_shape: tuple = (-1, 3, 299, 299)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_Inception_V2, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_Inception_V2, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -596,20 +600,22 @@ def build_model(self) -> None:
Dropout(self.dropout_rate, self.random_state),
Dense(2048, self.out_features, **base_args),
)

input_shape: tuple = (-1, 3, 299, 299)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
ls = LabelSmoothing(smoothing=self.smoothing)
y_ls = ls.fit_transform(y)
return super(_Inception_V3, self).fit_nn(X, y_ls)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_Inception_V3, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -720,20 +726,22 @@ def build_model(self) -> None:
Dropout(self.dropout_rate, self.random_state),
Dense(1536, self.out_features),
)

input_shape: tuple = (-1, 3, 299, 299)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
ls = LabelSmoothing(smoothing=self.smoothing)
y_ls = ls.fit_transform(y)
return super(_Inception_V4, self).fit_nn(X, y_ls)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_Inception_V4, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -843,20 +851,22 @@ def build_model(self) -> None:
Dropout(self.dropout_rate, self.random_state),
Dense(1792, self.out_features),
)

input_shape: tuple = (-1, 3, 299, 299)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
ls = LabelSmoothing(smoothing=self.smoothing)
y_ls = ls.fit_transform(y)
return super(_InceptionRes_V1, self).fit_nn(X, y_ls)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_InceptionRes_V1, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -969,20 +979,22 @@ def build_model(self) -> None:
Dropout(self.dropout_rate, self.random_state),
Dense(2272, self.out_features),
)

input_shape: tuple = (-1, 3, 299, 299)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
ls = LabelSmoothing(smoothing=self.smoothing)
y_ls = ls.fit_transform(y)
return super(_InceptionRes_V2, self).fit_nn(X, y_ls)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_InceptionRes_V2, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down
24 changes: 15 additions & 9 deletions luma/neural/_models/lenet.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,18 +112,20 @@ def build_model(self) -> None:
lambda_=self.lambda_,
random_state=self.random_state,
)

input_shape: tuple = (-1, 1, 28, 28)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_LeNet_1, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_LeNet_1, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -244,18 +246,20 @@ def build_model(self) -> None:
lambda_=self.lambda_,
random_state=self.random_state,
)

input_shape: tuple = (-1, 1, 32, 32)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_LeNet_4, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_LeNet_4, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -387,17 +391,19 @@ def build_model(self) -> None:
random_state=self.random_state,
)

@Tensor.force_dim(4)
input_shape: tuple = (-1, 1, 32, 32)

@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_LeNet_5, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_LeNet_5, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down
32 changes: 20 additions & 12 deletions luma/neural/_models/vgg.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,18 +167,20 @@ def build_model(self) -> None:
lambda_=self.lambda_,
random_state=self.random_state,
)

input_shape: tuple = (-1, 3, 224, 224)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_VGGNet_11, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_VGGNet_11, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -344,18 +346,20 @@ def build_model(self) -> None:
lambda_=self.lambda_,
random_state=self.random_state,
)

input_shape: tuple = (-1, 3, 224, 224)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_VGGNet_13, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_VGGNet_13, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -534,17 +538,19 @@ def build_model(self) -> None:
random_state=self.random_state,
)

@Tensor.force_dim(4)
input_shape: tuple = (-1, 3, 224, 224)

@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_VGGNet_16, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_VGGNet_16, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down Expand Up @@ -734,18 +740,20 @@ def build_model(self) -> None:
lambda_=self.lambda_,
random_state=self.random_state,
)

input_shape: tuple = (-1, 3, 224, 224)

@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def fit(self, X: Tensor, y: Matrix) -> Self:
return super(_VGGNet_19, self).fit_nn(X, y)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def predict(self, X: Tensor, argmax: bool = True) -> Matrix | Vector:
return super(_VGGNet_19, self).predict_nn(X, argmax)

@override
@Tensor.force_dim(4)
@Tensor.force_shape(input_shape)
def score(
self,
X: Tensor,
Expand Down
Loading

0 comments on commit 7c22a7b

Please sign in to comment.