flaxdiff 0.1.27__py3-none-any.whl → 0.1.28__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ from flax import linen as nn
6
6
  from typing import Callable, Any, Optional, Tuple
7
7
  from .simple_unet import FourierEmbedding, TimeProjection, ConvLayer, kernel_init
8
8
  from .attention import TransformerBlock
9
- from flaxdiff.models.simple_unet import FourierEmbedding, TimeProjection, ConvLayer, kernel_init
9
+ from flaxdiff.models.simple_unet import FourierEmbedding, TimeProjection, ConvLayer, kernel_init, ResidualBlock
10
10
  import einops
11
11
  from flax.typing import Dtype, PrecisionLike
12
12
  from functools import partial
@@ -68,6 +68,7 @@ class UViT(nn.Module):
68
68
  dtype: Optional[Dtype] = None
69
69
  precision: PrecisionLike = None
70
70
  kernel_init: Callable = partial(kernel_init, 1.0)
71
+ add_residualblock_output: bool = False
71
72
 
72
73
  def setup(self):
73
74
  if self.norm_groups > 0:
@@ -80,6 +81,8 @@ class UViT(nn.Module):
80
81
  # Time embedding
81
82
  temb = FourierEmbedding(features=self.emb_features)(temb)
82
83
  temb = TimeProjection(features=self.emb_features)(temb)
84
+
85
+ original_img = x
83
86
 
84
87
  # Patch embedding
85
88
  x = PatchEmbedding(patch_size=self.patch_size, embedding_dim=self.emb_features,
@@ -141,14 +144,36 @@ class UViT(nn.Module):
141
144
  x = x[:, 1 + num_text_tokens:, :]
142
145
  x = unpatchify(x, channels=self.output_channels)
143
146
  # print(f'Shape of x after final dense layer: {x.shape}')
144
- x = nn.Conv(
145
- features=self.output_channels,
146
- kernel_size=(3, 3),
147
+
148
+ if self.add_residualblock_output:
149
+ # Concatenate the original image
150
+ x = jnp.concatenate([original_img, x], axis=-1)
151
+
152
+ x = ResidualBlock(
153
+ "conv",
154
+ name="final_residual",
155
+ features=64,
156
+ kernel_init=self.kernel_init(1.0),
157
+ kernel_size=(3,3),
158
+ strides=(1, 1),
159
+ activation=self.activation,
160
+ norm_groups=self.norm_groups,
161
+ dtype=self.dtype,
162
+ precision=self.precision,
163
+ named_norms=False
164
+ )(x, temb)
165
+
166
+ x = self.norm()(x)
167
+ x = self.activation(x)
168
+
169
+ x = ConvLayer(
170
+ "conv",
171
+ features=self.output_channels,
172
+ kernel_size=(3, 3),
147
173
  strides=(1, 1),
148
- padding='SAME',
149
- dtype=self.dtype,
150
- precision=self.precision,
151
- kernel_init=kernel_init(0.0),
174
+ # activation=jax.nn.mish
175
+ kernel_init=self.kernel_init(0.0),
176
+ dtype=self.dtype,
177
+ precision=self.precision
152
178
  )(x)
153
-
154
179
  return x
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flaxdiff
3
- Version: 0.1.27
3
+ Version: 0.1.28
4
4
  Summary: A versatile and easy to understand Diffusion library
5
5
  Author: Ashish Kumar Singh
6
6
  Author-email: ashishkmr472@gmail.com
@@ -7,7 +7,7 @@ flaxdiff/models/attention.py,sha256=ZbDGIb5Q6FRqJ6qRY660cqw4WvF9IwCnhEuYdTpLPdM,
7
7
  flaxdiff/models/common.py,sha256=fw_gP7PZayO6RVe6xSf-7FtVq-S0pp5U6NgHg4PlKO8,10990
8
8
  flaxdiff/models/favor_fastattn.py,sha256=79Ew1nqarsNLPzZaBSd1ILORzJr74CupYeqGiCQK5E4,27689
9
9
  flaxdiff/models/simple_unet.py,sha256=h1o9mQlLJy7Ec8Pz_O5miRbAyUaM5UNhSs-oXzpQvZo,10763
10
- flaxdiff/models/simple_vit.py,sha256=-xGeiRztVssisf0CRd9CvlBQNrIUXaRSQbNckYvkuac,6972
10
+ flaxdiff/models/simple_vit.py,sha256=W2LxTKWA0wJHbPLf4hd2eUO4-ZV5u0Y-M168QulGwTg,7786
11
11
  flaxdiff/models/autoencoder/__init__.py,sha256=qY-7MldZpsfkF-_T2LqlRK7VHbqfmosz0NmvzDlBkOk,78
12
12
  flaxdiff/models/autoencoder/autoencoder.py,sha256=27_hYl0yXAdH9Mx4Xu9J79mSNo-FEKr9SxhVaS3ffn4,591
13
13
  flaxdiff/models/autoencoder/diffusers.py,sha256=JHeFLCxiHhu-QHwhKiCuKsQJn4AZumquiuxgZkiYGQ0,3643
@@ -34,7 +34,7 @@ flaxdiff/trainer/__init__.py,sha256=T-vUVq4zHcMK6kpCsG4Gu8vn71q6lZD-lg-Ul7yKfEk,
34
34
  flaxdiff/trainer/autoencoder_trainer.py,sha256=al7AsZ7yeDMEiDD-gbcXf0ADq_xfk1VMxvg24GfA-XQ,7008
35
35
  flaxdiff/trainer/diffusion_trainer.py,sha256=wKkg63DWZjx2MoM3VQNCDIr40rWN8fUGxH9jWWxfZao,9373
36
36
  flaxdiff/trainer/simple_trainer.py,sha256=Z77zRS5viJpd2Mpl6sonJk5WcnEWi2Cd4gl4u5tIX2M,18206
37
- flaxdiff-0.1.27.dist-info/METADATA,sha256=-344uFzDA8b17cd1LV5RpDDx4bGZ6i8kdNFJ439FD9g,22083
38
- flaxdiff-0.1.27.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
39
- flaxdiff-0.1.27.dist-info/top_level.txt,sha256=-2-nXnfkJgSfkki1tjm5Faw6Dso7vhtdn2szwCdX5CQ,9
40
- flaxdiff-0.1.27.dist-info/RECORD,,
37
+ flaxdiff-0.1.28.dist-info/METADATA,sha256=AeUPnS3eT-lJSMSM9p1J_HBkJz9f5QFey5r0wdZddH8,22083
38
+ flaxdiff-0.1.28.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
39
+ flaxdiff-0.1.28.dist-info/top_level.txt,sha256=-2-nXnfkJgSfkki1tjm5Faw6Dso7vhtdn2szwCdX5CQ,9
40
+ flaxdiff-0.1.28.dist-info/RECORD,,