mirror of
https://github.com/brycedrennan/imaginAIry
synced 2024-10-31 03:20:40 +00:00
fix: cleanup logging - remove unnecessary version checks
This commit is contained in:
parent
cc79cac5fc
commit
1faea372f9
@ -4,11 +4,6 @@
|
||||
|
||||
- feature: integrates spandrel for upscaling
|
||||
|
||||
**14.1.1**
|
||||
|
||||
- tests: add installation tests for windows, mac, and conda
|
||||
- fix: dependency issues
|
||||
|
||||
**14.2.0**
|
||||
- 🎉 feature: add image prompt support via `--image-prompt` and `--image-prompt-strength`
|
||||
|
||||
|
@ -62,7 +62,6 @@ def upscale_cmd(
|
||||
"""
|
||||
Upscale an image 4x using AI.
|
||||
"""
|
||||
from tqdm import tqdm
|
||||
|
||||
from imaginairy.enhancers.face_restoration_codeformer import enhance_faces
|
||||
from imaginairy.enhancers.upscale import upscale_image, upscale_model_lookup
|
||||
@ -92,15 +91,15 @@ def upscale_cmd(
|
||||
elif format_template == "DEFAULT":
|
||||
format_template = DEFAULT_FORMAT_TEMPLATE
|
||||
|
||||
for p in tqdm(image_filepaths):
|
||||
savepath = os.path.join(outdir, os.path.basename(p))
|
||||
for n, p in enumerate(image_filepaths):
|
||||
if p.startswith("http"):
|
||||
img = LazyLoadingImage(url=p)
|
||||
else:
|
||||
img = LazyLoadingImage(filepath=p)
|
||||
orig_height = img.height
|
||||
for model in upscale_model:
|
||||
logger.info(
|
||||
f"Upscaling {p} from {img.width}x{img.height} to {img.width * 4}x{img.height * 4} and saving it to {savepath}"
|
||||
f"Upscaling ({n + 1}/{len(image_filepaths)}) {p} ({img.width}x{img.height})..."
|
||||
)
|
||||
|
||||
img = upscale_image(img, model)
|
||||
@ -131,4 +130,7 @@ def upscale_cmd(
|
||||
new_file_name = format_filename(format_template, new_file_name_data)
|
||||
new_file_path = os.path.join(outdir, new_file_name)
|
||||
img.save(new_file_path)
|
||||
print(f"Saved to {new_file_path}")
|
||||
scale = int(img.height / orig_height)
|
||||
logger.info(
|
||||
f"Upscaled {scale}x to {img.width}x{img.height} and saved to {new_file_path}"
|
||||
)
|
||||
|
@ -69,10 +69,7 @@ def upscale_image(
|
||||
model_path = upscaler_model
|
||||
|
||||
model = ModelLoader().load_from_file(model_path)
|
||||
logger.info(
|
||||
f"Upscaling from {img.width}x{img.height} to {img.width * model.scale}x{img.height * model.scale}"
|
||||
)
|
||||
print(f"Upscaling image with model {model.architecture}@{upscaler_model}")
|
||||
logger.debug(f"Upscaling image with model {model.architecture}@{upscaler_model}")
|
||||
|
||||
assert isinstance(model, ImageModelDescriptor)
|
||||
|
||||
|
@ -40,7 +40,7 @@ def tile_process(
|
||||
output = img.new_zeros(output_shape)
|
||||
tiles_x = math.ceil(width / tile_size)
|
||||
tiles_y = math.ceil(height / tile_size)
|
||||
logger.info(f"Tiling with {tiles_x}x{tiles_y} ({tiles_x*tiles_y}) tiles")
|
||||
logger.debug(f"Tiling with {tiles_x}x{tiles_y} ({tiles_x*tiles_y}) tiles")
|
||||
|
||||
for y in range(tiles_y):
|
||||
for x in range(tiles_x):
|
||||
@ -79,13 +79,13 @@ def tile_process(
|
||||
)
|
||||
|
||||
# Place the processed tile in the output image
|
||||
output[
|
||||
:, :, output_start_y:output_end_y, output_start_x:output_end_x
|
||||
] = output_tile[
|
||||
:,
|
||||
:,
|
||||
tile_output_start_y:tile_output_end_y,
|
||||
tile_output_start_x:tile_output_end_x,
|
||||
]
|
||||
output[:, :, output_start_y:output_end_y, output_start_x:output_end_x] = (
|
||||
output_tile[
|
||||
:,
|
||||
:,
|
||||
tile_output_start_y:tile_output_end_y,
|
||||
tile_output_start_x:tile_output_end_x,
|
||||
]
|
||||
)
|
||||
|
||||
return output
|
||||
|
@ -8,7 +8,6 @@ from typing import List, Union
|
||||
|
||||
import torch
|
||||
from PIL import Image
|
||||
from pkg_resources import packaging
|
||||
from torchvision.transforms import CenterCrop, Compose, Normalize, Resize, ToTensor
|
||||
from tqdm import tqdm
|
||||
|
||||
@ -23,9 +22,6 @@ except ImportError:
|
||||
BICUBIC = Image.BICUBIC
|
||||
|
||||
|
||||
if packaging.version.parse(torch.__version__) < packaging.version.parse("1.7.1"):
|
||||
warnings.warn("PyTorch version 1.7.1 or higher is recommended")
|
||||
|
||||
|
||||
__all__ = ["available_models", "load", "tokenize"]
|
||||
_tokenizer = _Tokenizer()
|
||||
@ -272,10 +268,7 @@ def tokenize(
|
||||
sot_token = _tokenizer.encoder["<|startoftext|>"]
|
||||
eot_token = _tokenizer.encoder["<|endoftext|>"]
|
||||
all_tokens = [[sot_token] + _tokenizer.encode(text) + [eot_token] for text in texts]
|
||||
if packaging.version.parse(torch.__version__) < packaging.version.parse("1.8.0"):
|
||||
result = torch.zeros(len(all_tokens), context_length, dtype=torch.long)
|
||||
else:
|
||||
result = torch.zeros(len(all_tokens), context_length, dtype=torch.int)
|
||||
result = torch.zeros(len(all_tokens), context_length, dtype=torch.int)
|
||||
|
||||
for i, tokens in enumerate(all_tokens):
|
||||
if len(tokens) > context_length:
|
||||
|
@ -14,7 +14,7 @@ anyio==4.3.0
|
||||
# starlette
|
||||
babel==2.14.0
|
||||
# via mkdocs-material
|
||||
build==1.1.1
|
||||
build==1.2.1
|
||||
# via pip-tools
|
||||
certifi==2024.2.2
|
||||
# via
|
||||
@ -43,55 +43,57 @@ colorama==0.4.6
|
||||
# mkdocs-material
|
||||
coverage==7.4.4
|
||||
# via -r requirements-dev.in
|
||||
diffusers==0.27.0
|
||||
diffusers==0.27.2
|
||||
# via imaginAIry (setup.py)
|
||||
einops==0.7.0
|
||||
# via imaginAIry (setup.py)
|
||||
# via
|
||||
# imaginAIry (setup.py)
|
||||
# spandrel
|
||||
exceptiongroup==1.2.0
|
||||
# via
|
||||
# anyio
|
||||
# pytest
|
||||
fastapi==0.110.0
|
||||
fastapi==0.110.1
|
||||
# via imaginAIry (setup.py)
|
||||
filelock==3.13.1
|
||||
filelock==3.13.4
|
||||
# via
|
||||
# diffusers
|
||||
# huggingface-hub
|
||||
# torch
|
||||
# transformers
|
||||
fsspec==2024.2.0
|
||||
fsspec==2024.3.1
|
||||
# via
|
||||
# huggingface-hub
|
||||
# torch
|
||||
ftfy==6.1.3
|
||||
ftfy==6.2.0
|
||||
# via
|
||||
# imaginAIry (setup.py)
|
||||
# open-clip-torch
|
||||
ghp-import==2.1.0
|
||||
# via mkdocs
|
||||
griffe==0.42.0
|
||||
griffe==0.42.2
|
||||
# via mkdocstrings-python
|
||||
h11==0.14.0
|
||||
# via
|
||||
# httpcore
|
||||
# uvicorn
|
||||
httpcore==1.0.4
|
||||
httpcore==1.0.5
|
||||
# via httpx
|
||||
httpx==0.27.0
|
||||
# via -r requirements-dev.in
|
||||
huggingface-hub==0.21.4
|
||||
huggingface-hub==0.22.2
|
||||
# via
|
||||
# diffusers
|
||||
# open-clip-torch
|
||||
# timm
|
||||
# tokenizers
|
||||
# transformers
|
||||
idna==3.6
|
||||
idna==3.7
|
||||
# via
|
||||
# anyio
|
||||
# httpx
|
||||
# requests
|
||||
importlib-metadata==7.0.2
|
||||
importlib-metadata==7.1.0
|
||||
# via diffusers
|
||||
iniconfig==2.0.0
|
||||
# via pytest
|
||||
@ -105,16 +107,15 @@ jinja2==3.1.3
|
||||
# torch
|
||||
kornia==0.7.2
|
||||
# via imaginAIry (setup.py)
|
||||
kornia-rs==0.1.1
|
||||
kornia-rs==0.1.3
|
||||
# via kornia
|
||||
markdown==3.5.2
|
||||
markdown==3.6
|
||||
# via
|
||||
# mkdocs
|
||||
# mkdocs-autorefs
|
||||
# mkdocs-click
|
||||
# mkdocs-material
|
||||
# mkdocstrings
|
||||
# mkdocstrings-python
|
||||
# pymdown-extensions
|
||||
markupsafe==2.1.5
|
||||
# via
|
||||
@ -133,15 +134,15 @@ mkdocs-autorefs==1.0.1
|
||||
# via mkdocstrings
|
||||
mkdocs-click==0.8.1
|
||||
# via -r requirements-dev.in
|
||||
mkdocs-material==9.5.13
|
||||
mkdocs-material==9.5.18
|
||||
# via -r requirements-dev.in
|
||||
mkdocs-material-extensions==1.3.1
|
||||
# via mkdocs-material
|
||||
mkdocstrings[python]==0.24.1
|
||||
mkdocstrings[python]==0.24.3
|
||||
# via
|
||||
# -r requirements-dev.in
|
||||
# mkdocstrings-python
|
||||
mkdocstrings-python==1.9.0
|
||||
mkdocstrings-python==1.9.2
|
||||
# via mkdocstrings
|
||||
mpmath==1.3.0
|
||||
# via sympy
|
||||
@ -149,7 +150,7 @@ mypy==1.9.0
|
||||
# via -r requirements-dev.in
|
||||
mypy-extensions==1.0.0
|
||||
# via mypy
|
||||
networkx==3.2.1
|
||||
networkx==3.3
|
||||
# via torch
|
||||
numpy==1.24.4
|
||||
# via
|
||||
@ -159,6 +160,7 @@ numpy==1.24.4
|
||||
# jaxtyping
|
||||
# opencv-python
|
||||
# scipy
|
||||
# spandrel
|
||||
# torchvision
|
||||
# transformers
|
||||
omegaconf==2.3.0
|
||||
@ -180,7 +182,7 @@ paginate==0.5.6
|
||||
# via mkdocs-material
|
||||
pathspec==0.12.1
|
||||
# via mkdocs
|
||||
pillow==10.2.0
|
||||
pillow==10.3.0
|
||||
# via
|
||||
# diffusers
|
||||
# imaginAIry (setup.py)
|
||||
@ -193,17 +195,17 @@ platformdirs==4.2.0
|
||||
# mkdocstrings
|
||||
pluggy==1.4.0
|
||||
# via pytest
|
||||
protobuf==5.26.0
|
||||
protobuf==5.26.1
|
||||
# via
|
||||
# imaginAIry (setup.py)
|
||||
# open-clip-torch
|
||||
psutil==5.9.8
|
||||
# via imaginAIry (setup.py)
|
||||
pydantic==2.6.4
|
||||
pydantic==2.7.0
|
||||
# via
|
||||
# fastapi
|
||||
# imaginAIry (setup.py)
|
||||
pydantic-core==2.16.3
|
||||
pydantic-core==2.18.1
|
||||
# via pydantic
|
||||
pygments==2.17.2
|
||||
# via mkdocs-material
|
||||
@ -223,7 +225,7 @@ pytest==8.1.1
|
||||
# pytest-asyncio
|
||||
# pytest-randomly
|
||||
# pytest-sugar
|
||||
pytest-asyncio==0.23.5.post1
|
||||
pytest-asyncio==0.23.6
|
||||
# via -r requirements-dev.in
|
||||
pytest-randomly==3.15.0
|
||||
# via -r requirements-dev.in
|
||||
@ -243,7 +245,7 @@ pyyaml==6.0.1
|
||||
# transformers
|
||||
pyyaml-env-tag==0.1
|
||||
# via mkdocs
|
||||
regex==2023.12.25
|
||||
regex==2024.4.16
|
||||
# via
|
||||
# diffusers
|
||||
# mkdocs-material
|
||||
@ -259,15 +261,16 @@ requests==2.31.0
|
||||
# transformers
|
||||
responses==0.25.0
|
||||
# via -r requirements-dev.in
|
||||
ruff==0.3.3
|
||||
ruff==0.3.7
|
||||
# via -r requirements-dev.in
|
||||
safetensors==0.4.2
|
||||
safetensors==0.4.3
|
||||
# via
|
||||
# diffusers
|
||||
# imaginAIry (setup.py)
|
||||
# spandrel
|
||||
# timm
|
||||
# transformers
|
||||
scipy==1.12.0
|
||||
scipy==1.13.0
|
||||
# via
|
||||
# imaginAIry (setup.py)
|
||||
# torchdiffeq
|
||||
@ -279,7 +282,9 @@ sniffio==1.3.1
|
||||
# via
|
||||
# anyio
|
||||
# httpx
|
||||
starlette==0.36.3
|
||||
spandrel==0.3.1
|
||||
# via imaginAIry (setup.py)
|
||||
starlette==0.37.2
|
||||
# via fastapi
|
||||
sympy==1.12
|
||||
# via torch
|
||||
@ -300,20 +305,22 @@ tomli==2.0.1
|
||||
# pip-tools
|
||||
# pyproject-hooks
|
||||
# pytest
|
||||
torch==2.2.1
|
||||
torch==2.2.2
|
||||
# via
|
||||
# imaginAIry (setup.py)
|
||||
# kornia
|
||||
# open-clip-torch
|
||||
# spandrel
|
||||
# timm
|
||||
# torchdiffeq
|
||||
# torchvision
|
||||
torchdiffeq==0.2.3
|
||||
# via imaginAIry (setup.py)
|
||||
torchvision==0.17.1
|
||||
torchvision==0.17.2
|
||||
# via
|
||||
# imaginAIry (setup.py)
|
||||
# open-clip-torch
|
||||
# spandrel
|
||||
# timm
|
||||
tqdm==4.66.2
|
||||
# via
|
||||
@ -321,19 +328,19 @@ tqdm==4.66.2
|
||||
# imaginAIry (setup.py)
|
||||
# open-clip-torch
|
||||
# transformers
|
||||
transformers==4.38.2
|
||||
transformers==4.39.3
|
||||
# via imaginAIry (setup.py)
|
||||
typeguard==2.13.3
|
||||
# via jaxtyping
|
||||
types-pillow==10.2.0.20240311
|
||||
types-pillow==10.2.0.20240415
|
||||
# via -r requirements-dev.in
|
||||
types-psutil==5.9.5.20240311
|
||||
types-psutil==5.9.5.20240316
|
||||
# via -r requirements-dev.in
|
||||
types-requests==2.31.0.20240311
|
||||
types-requests==2.31.0.20240406
|
||||
# via -r requirements-dev.in
|
||||
types-tqdm==4.66.0.20240106
|
||||
types-tqdm==4.66.0.20240417
|
||||
# via -r requirements-dev.in
|
||||
typing-extensions==4.10.0
|
||||
typing-extensions==4.11.0
|
||||
# via
|
||||
# anyio
|
||||
# fastapi
|
||||
@ -341,6 +348,7 @@ typing-extensions==4.10.0
|
||||
# mypy
|
||||
# pydantic
|
||||
# pydantic-core
|
||||
# spandrel
|
||||
# torch
|
||||
# uvicorn
|
||||
urllib3==2.2.1
|
||||
@ -348,7 +356,7 @@ urllib3==2.2.1
|
||||
# requests
|
||||
# responses
|
||||
# types-requests
|
||||
uvicorn==0.28.0
|
||||
uvicorn==0.29.0
|
||||
# via imaginAIry (setup.py)
|
||||
watchdog==4.0.0
|
||||
# via mkdocs
|
||||
|
@ -21,6 +21,7 @@ def test_upscale_cmd_format_option():
|
||||
|
||||
mock_img = Mock()
|
||||
mock_img.save = Mock()
|
||||
mock_img.height = 1000
|
||||
|
||||
with patch.multiple(
|
||||
"imaginairy.enhancers.upscale", upscale_image=Mock(return_value=mock_img)
|
||||
@ -38,5 +39,5 @@ def test_upscale_cmd_format_option():
|
||||
)
|
||||
|
||||
assert result.exit_code == 0
|
||||
assert "Saved to " in result.output
|
||||
assert "saved to " in result.output
|
||||
mock_img.save.assert_called() # Check if save method was called
|
||||
|
Loading…
Reference in New Issue
Block a user