mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
chore: Black lint fix
This commit is contained in:
parent
54cda8ea42
commit
b94ec14853
@ -265,7 +265,7 @@ class InvokeAICrossAttentionMixin:
|
|||||||
if q.shape[1] <= 4096: # (512x512) max q.shape[1]: 4096
|
if q.shape[1] <= 4096: # (512x512) max q.shape[1]: 4096
|
||||||
return self.einsum_lowest_level(q, k, v, None, None, None)
|
return self.einsum_lowest_level(q, k, v, None, None, None)
|
||||||
else:
|
else:
|
||||||
slice_size = math.floor(2 ** 30 / (q.shape[0] * q.shape[1]))
|
slice_size = math.floor(2**30 / (q.shape[0] * q.shape[1]))
|
||||||
return self.einsum_op_slice_dim1(q, k, v, slice_size)
|
return self.einsum_op_slice_dim1(q, k, v, slice_size)
|
||||||
|
|
||||||
def einsum_op_mps_v2(self, q, k, v):
|
def einsum_op_mps_v2(self, q, k, v):
|
||||||
|
@ -215,7 +215,10 @@ class InvokeAIDiffuserComponent:
|
|||||||
dim=0,
|
dim=0,
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
(encoder_hidden_states, encoder_attention_mask,) = self._concat_conditionings_for_batch(
|
(
|
||||||
|
encoder_hidden_states,
|
||||||
|
encoder_attention_mask,
|
||||||
|
) = self._concat_conditionings_for_batch(
|
||||||
conditioning_data.unconditioned_embeddings.embeds,
|
conditioning_data.unconditioned_embeddings.embeds,
|
||||||
conditioning_data.text_embeddings.embeds,
|
conditioning_data.text_embeddings.embeds,
|
||||||
)
|
)
|
||||||
@ -277,7 +280,10 @@ class InvokeAIDiffuserComponent:
|
|||||||
wants_cross_attention_control = len(cross_attention_control_types_to_do) > 0
|
wants_cross_attention_control = len(cross_attention_control_types_to_do) > 0
|
||||||
|
|
||||||
if wants_cross_attention_control:
|
if wants_cross_attention_control:
|
||||||
(unconditioned_next_x, conditioned_next_x,) = self._apply_cross_attention_controlled_conditioning(
|
(
|
||||||
|
unconditioned_next_x,
|
||||||
|
conditioned_next_x,
|
||||||
|
) = self._apply_cross_attention_controlled_conditioning(
|
||||||
sample,
|
sample,
|
||||||
timestep,
|
timestep,
|
||||||
conditioning_data,
|
conditioning_data,
|
||||||
@ -285,7 +291,10 @@ class InvokeAIDiffuserComponent:
|
|||||||
**kwargs,
|
**kwargs,
|
||||||
)
|
)
|
||||||
elif self.sequential_guidance:
|
elif self.sequential_guidance:
|
||||||
(unconditioned_next_x, conditioned_next_x,) = self._apply_standard_conditioning_sequentially(
|
(
|
||||||
|
unconditioned_next_x,
|
||||||
|
conditioned_next_x,
|
||||||
|
) = self._apply_standard_conditioning_sequentially(
|
||||||
sample,
|
sample,
|
||||||
timestep,
|
timestep,
|
||||||
conditioning_data,
|
conditioning_data,
|
||||||
@ -293,7 +302,10 @@ class InvokeAIDiffuserComponent:
|
|||||||
)
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
(unconditioned_next_x, conditioned_next_x,) = self._apply_standard_conditioning(
|
(
|
||||||
|
unconditioned_next_x,
|
||||||
|
conditioned_next_x,
|
||||||
|
) = self._apply_standard_conditioning(
|
||||||
sample,
|
sample,
|
||||||
timestep,
|
timestep,
|
||||||
conditioning_data,
|
conditioning_data,
|
||||||
|
@ -395,7 +395,7 @@ def add_Gaussian_noise(img, noise_level1=2, noise_level2=25):
|
|||||||
D = np.diag(np.random.rand(3))
|
D = np.diag(np.random.rand(3))
|
||||||
U = orth(np.random.rand(3, 3))
|
U = orth(np.random.rand(3, 3))
|
||||||
conv = np.dot(np.dot(np.transpose(U), D), U)
|
conv = np.dot(np.dot(np.transpose(U), D), U)
|
||||||
img = img + np.random.multivariate_normal([0, 0, 0], np.abs(L ** 2 * conv), img.shape[:2]).astype(np.float32)
|
img = img + np.random.multivariate_normal([0, 0, 0], np.abs(L**2 * conv), img.shape[:2]).astype(np.float32)
|
||||||
img = np.clip(img, 0.0, 1.0)
|
img = np.clip(img, 0.0, 1.0)
|
||||||
return img
|
return img
|
||||||
|
|
||||||
@ -413,7 +413,7 @@ def add_speckle_noise(img, noise_level1=2, noise_level2=25):
|
|||||||
D = np.diag(np.random.rand(3))
|
D = np.diag(np.random.rand(3))
|
||||||
U = orth(np.random.rand(3, 3))
|
U = orth(np.random.rand(3, 3))
|
||||||
conv = np.dot(np.dot(np.transpose(U), D), U)
|
conv = np.dot(np.dot(np.transpose(U), D), U)
|
||||||
img += img * np.random.multivariate_normal([0, 0, 0], np.abs(L ** 2 * conv), img.shape[:2]).astype(np.float32)
|
img += img * np.random.multivariate_normal([0, 0, 0], np.abs(L**2 * conv), img.shape[:2]).astype(np.float32)
|
||||||
img = np.clip(img, 0.0, 1.0)
|
img = np.clip(img, 0.0, 1.0)
|
||||||
return img
|
return img
|
||||||
|
|
||||||
|
@ -399,7 +399,7 @@ def add_Gaussian_noise(img, noise_level1=2, noise_level2=25):
|
|||||||
D = np.diag(np.random.rand(3))
|
D = np.diag(np.random.rand(3))
|
||||||
U = orth(np.random.rand(3, 3))
|
U = orth(np.random.rand(3, 3))
|
||||||
conv = np.dot(np.dot(np.transpose(U), D), U)
|
conv = np.dot(np.dot(np.transpose(U), D), U)
|
||||||
img = img + np.random.multivariate_normal([0, 0, 0], np.abs(L ** 2 * conv), img.shape[:2]).astype(np.float32)
|
img = img + np.random.multivariate_normal([0, 0, 0], np.abs(L**2 * conv), img.shape[:2]).astype(np.float32)
|
||||||
img = np.clip(img, 0.0, 1.0)
|
img = np.clip(img, 0.0, 1.0)
|
||||||
return img
|
return img
|
||||||
|
|
||||||
@ -417,7 +417,7 @@ def add_speckle_noise(img, noise_level1=2, noise_level2=25):
|
|||||||
D = np.diag(np.random.rand(3))
|
D = np.diag(np.random.rand(3))
|
||||||
U = orth(np.random.rand(3, 3))
|
U = orth(np.random.rand(3, 3))
|
||||||
conv = np.dot(np.dot(np.transpose(U), D), U)
|
conv = np.dot(np.dot(np.transpose(U), D), U)
|
||||||
img += img * np.random.multivariate_normal([0, 0, 0], np.abs(L ** 2 * conv), img.shape[:2]).astype(np.float32)
|
img += img * np.random.multivariate_normal([0, 0, 0], np.abs(L**2 * conv), img.shape[:2]).astype(np.float32)
|
||||||
img = np.clip(img, 0.0, 1.0)
|
img = np.clip(img, 0.0, 1.0)
|
||||||
return img
|
return img
|
||||||
|
|
||||||
|
@ -562,18 +562,14 @@ def rgb2ycbcr(img, only_y=True):
|
|||||||
if only_y:
|
if only_y:
|
||||||
rlt = np.dot(img, [65.481, 128.553, 24.966]) / 255.0 + 16.0
|
rlt = np.dot(img, [65.481, 128.553, 24.966]) / 255.0 + 16.0
|
||||||
else:
|
else:
|
||||||
rlt = (
|
rlt = np.matmul(
|
||||||
np.matmul(
|
img,
|
||||||
img,
|
[
|
||||||
[
|
[65.481, -37.797, 112.0],
|
||||||
[65.481, -37.797, 112.0],
|
[128.553, -74.203, -93.786],
|
||||||
[128.553, -74.203, -93.786],
|
[24.966, 112.0, -18.214],
|
||||||
[24.966, 112.0, -18.214],
|
],
|
||||||
],
|
) / 255.0 + [16, 128, 128]
|
||||||
)
|
|
||||||
/ 255.0
|
|
||||||
+ [16, 128, 128]
|
|
||||||
)
|
|
||||||
if in_img_type == np.uint8:
|
if in_img_type == np.uint8:
|
||||||
rlt = rlt.round()
|
rlt = rlt.round()
|
||||||
else:
|
else:
|
||||||
@ -592,18 +588,14 @@ def ycbcr2rgb(img):
|
|||||||
if in_img_type != np.uint8:
|
if in_img_type != np.uint8:
|
||||||
img *= 255.0
|
img *= 255.0
|
||||||
# convert
|
# convert
|
||||||
rlt = (
|
rlt = np.matmul(
|
||||||
np.matmul(
|
img,
|
||||||
img,
|
[
|
||||||
[
|
[0.00456621, 0.00456621, 0.00456621],
|
||||||
[0.00456621, 0.00456621, 0.00456621],
|
[0, -0.00153632, 0.00791071],
|
||||||
[0, -0.00153632, 0.00791071],
|
[0.00625893, -0.00318811, 0],
|
||||||
[0.00625893, -0.00318811, 0],
|
],
|
||||||
],
|
) * 255.0 + [-222.921, 135.576, -276.836]
|
||||||
)
|
|
||||||
* 255.0
|
|
||||||
+ [-222.921, 135.576, -276.836]
|
|
||||||
)
|
|
||||||
if in_img_type == np.uint8:
|
if in_img_type == np.uint8:
|
||||||
rlt = rlt.round()
|
rlt = rlt.round()
|
||||||
else:
|
else:
|
||||||
@ -626,18 +618,14 @@ def bgr2ycbcr(img, only_y=True):
|
|||||||
if only_y:
|
if only_y:
|
||||||
rlt = np.dot(img, [24.966, 128.553, 65.481]) / 255.0 + 16.0
|
rlt = np.dot(img, [24.966, 128.553, 65.481]) / 255.0 + 16.0
|
||||||
else:
|
else:
|
||||||
rlt = (
|
rlt = np.matmul(
|
||||||
np.matmul(
|
img,
|
||||||
img,
|
[
|
||||||
[
|
[24.966, 112.0, -18.214],
|
||||||
[24.966, 112.0, -18.214],
|
[128.553, -74.203, -93.786],
|
||||||
[128.553, -74.203, -93.786],
|
[65.481, -37.797, 112.0],
|
||||||
[65.481, -37.797, 112.0],
|
],
|
||||||
],
|
) / 255.0 + [16, 128, 128]
|
||||||
)
|
|
||||||
/ 255.0
|
|
||||||
+ [16, 128, 128]
|
|
||||||
)
|
|
||||||
if in_img_type == np.uint8:
|
if in_img_type == np.uint8:
|
||||||
rlt = rlt.round()
|
rlt = rlt.round()
|
||||||
else:
|
else:
|
||||||
@ -728,11 +716,11 @@ def ssim(img1, img2):
|
|||||||
|
|
||||||
mu1 = cv2.filter2D(img1, -1, window)[5:-5, 5:-5] # valid
|
mu1 = cv2.filter2D(img1, -1, window)[5:-5, 5:-5] # valid
|
||||||
mu2 = cv2.filter2D(img2, -1, window)[5:-5, 5:-5]
|
mu2 = cv2.filter2D(img2, -1, window)[5:-5, 5:-5]
|
||||||
mu1_sq = mu1 ** 2
|
mu1_sq = mu1**2
|
||||||
mu2_sq = mu2 ** 2
|
mu2_sq = mu2**2
|
||||||
mu1_mu2 = mu1 * mu2
|
mu1_mu2 = mu1 * mu2
|
||||||
sigma1_sq = cv2.filter2D(img1 ** 2, -1, window)[5:-5, 5:-5] - mu1_sq
|
sigma1_sq = cv2.filter2D(img1**2, -1, window)[5:-5, 5:-5] - mu1_sq
|
||||||
sigma2_sq = cv2.filter2D(img2 ** 2, -1, window)[5:-5, 5:-5] - mu2_sq
|
sigma2_sq = cv2.filter2D(img2**2, -1, window)[5:-5, 5:-5] - mu2_sq
|
||||||
sigma12 = cv2.filter2D(img1 * img2, -1, window)[5:-5, 5:-5] - mu1_mu2
|
sigma12 = cv2.filter2D(img1 * img2, -1, window)[5:-5, 5:-5] - mu1_mu2
|
||||||
|
|
||||||
ssim_map = ((2 * mu1_mu2 + C1) * (2 * sigma12 + C2)) / ((mu1_sq + mu2_sq + C1) * (sigma1_sq + sigma2_sq + C2))
|
ssim_map = ((2 * mu1_mu2 + C1) * (2 * sigma12 + C2)) / ((mu1_sq + mu2_sq + C1) * (sigma1_sq + sigma2_sq + C2))
|
||||||
@ -749,8 +737,8 @@ def ssim(img1, img2):
|
|||||||
# matlab 'imresize' function, now only support 'bicubic'
|
# matlab 'imresize' function, now only support 'bicubic'
|
||||||
def cubic(x):
|
def cubic(x):
|
||||||
absx = torch.abs(x)
|
absx = torch.abs(x)
|
||||||
absx2 = absx ** 2
|
absx2 = absx**2
|
||||||
absx3 = absx ** 3
|
absx3 = absx**3
|
||||||
return (1.5 * absx3 - 2.5 * absx2 + 1) * ((absx <= 1).type_as(absx)) + (
|
return (1.5 * absx3 - 2.5 * absx2 + 1) * ((absx <= 1).type_as(absx)) + (
|
||||||
-0.5 * absx3 + 2.5 * absx2 - 4 * absx + 2
|
-0.5 * absx3 + 2.5 * absx2 - 4 * absx + 2
|
||||||
) * (((absx > 1) * (absx <= 2)).type_as(absx))
|
) * (((absx > 1) * (absx <= 2)).type_as(absx))
|
||||||
|
@ -475,7 +475,10 @@ class TextualInversionDataset(Dataset):
|
|||||||
|
|
||||||
if self.center_crop:
|
if self.center_crop:
|
||||||
crop = min(img.shape[0], img.shape[1])
|
crop = min(img.shape[0], img.shape[1])
|
||||||
(h, w,) = (
|
(
|
||||||
|
h,
|
||||||
|
w,
|
||||||
|
) = (
|
||||||
img.shape[0],
|
img.shape[0],
|
||||||
img.shape[1],
|
img.shape[1],
|
||||||
)
|
)
|
||||||
|
@ -203,7 +203,7 @@ class ChunkedSlicedAttnProcessor:
|
|||||||
if attn.upcast_attention:
|
if attn.upcast_attention:
|
||||||
out_item_size = 4
|
out_item_size = 4
|
||||||
|
|
||||||
chunk_size = 2 ** 29
|
chunk_size = 2**29
|
||||||
|
|
||||||
out_size = query.shape[1] * key.shape[1] * out_item_size
|
out_size = query.shape[1] * key.shape[1] * out_item_size
|
||||||
chunks_count = min(query.shape[1], math.ceil((out_size - 1) / chunk_size))
|
chunks_count = min(query.shape[1], math.ceil((out_size - 1) / chunk_size))
|
||||||
|
@ -207,7 +207,7 @@ def parallel_data_prefetch(
|
|||||||
return gather_res
|
return gather_res
|
||||||
|
|
||||||
|
|
||||||
def rand_perlin_2d(shape, res, device, fade=lambda t: 6 * t ** 5 - 15 * t ** 4 + 10 * t ** 3):
|
def rand_perlin_2d(shape, res, device, fade=lambda t: 6 * t**5 - 15 * t**4 + 10 * t**3):
|
||||||
delta = (res[0] / shape[0], res[1] / shape[1])
|
delta = (res[0] / shape[0], res[1] / shape[1])
|
||||||
d = (shape[0] // res[0], shape[1] // res[1])
|
d = (shape[0] // res[0], shape[1] // res[1])
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user