Instructions to use roshikhan301/NEWONE1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use roshikhan301/NEWONE1 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("roshikhan301/NEWONE1", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
Download scripts/update_config_docstring.py from roshikhan301/NEWONE1: direct link, hf CLI and curl.
- Browser
- Download file 3.51 kB
-
https://huggingface.co/roshikhan301/NEWONE1/resolve/main/scripts/update_config_docstring.py
- Command line
-
hf download hf://roshikhan301/NEWONE1/scripts/update_config_docstring.py
-
curl -L -o update_config_docstring.py https://huggingface.co/roshikhan301/NEWONE1/resolve/main/scripts/update_config_docstring.py
3.51 kB
| import os | |
| from typing import Literal, get_args, get_type_hints | |
| from invokeai.app.services.config.config_default import InvokeAIAppConfig | |
| _excluded = {"schema_version", "legacy_models_yaml_path"} | |
| def generate_config_docstrings() -> str: | |
| """Helper function for mkdocs. Generates a docstring for the InvokeAIAppConfig class. | |
| You shouldn't run this manually. Instead, run `scripts/update-config-docstring.py` to update the docstring. | |
| A makefile target is also available: `make update-config-docstring`. | |
| See that script for more information about why this is necessary. | |
| """ | |
| docstring = ' """Invoke\'s global app configuration.\n\n' | |
| docstring += " Typically, you won't need to interact with this class directly. Instead, use the `get_config` function from `invokeai.app.services.config` to get a singleton config object.\n\n" | |
| docstring += " Attributes:\n" | |
| field_descriptions: list[str] = [] | |
| type_hints = get_type_hints(InvokeAIAppConfig) | |
| for k, v in InvokeAIAppConfig.model_fields.items(): | |
| if v.exclude or k in _excluded: | |
| continue | |
| field_type = type_hints.get(k) | |
| extra = "" | |
| if getattr(field_type, "__origin__", None) is Literal: | |
| # Get options for literals - the docs generator can't pull these out | |
| options = [f"`{str(x)}`" for x in get_args(field_type)] | |
| extra = f"<br>Valid values: {', '.join(options)}" | |
| field_descriptions.append(f" {k}: {v.description}{extra}") | |
| docstring += "\n".join(field_descriptions) | |
| docstring += '\n """' | |
| return docstring | |
| # The pydantic app config can be documented automatically using mkdocs, but this requires that the docstring | |
| # for the class is kept up to date. We use a pydantic model for the app config. Each config setting is a field | |
| # with a `description` parameter. It is tedious to update both the description _and_ the docstring for the class. | |
| # | |
| # This script parses the pydantic model, generates a valid docstring and replaces the existing docstring in the file, | |
| # so you don't need to worry about keeping the docstring up to date. | |
| # | |
| # A test is provided to ensure that the docstring is up to date. If the test fails, run this script. | |
| def main(): | |
| # Change working directory to the repo root | |
| os.chdir(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) | |
| docstring = generate_config_docstrings() | |
| # Replace the docstring in the file | |
| with open("invokeai/app/services/config/config_default.py", "r") as f: | |
| lines = f.readlines() | |
| # Find the class definition line | |
| class_def_index = next(i for i, line in enumerate(lines) if "class InvokeAIAppConfig" in line) | |
| # Find the existing docstring start and end lines | |
| docstring_start_index = next(i for i, line in enumerate(lines[class_def_index:]) if '"""' in line) + class_def_index | |
| docstring_end_index = ( | |
| next(i for i, line in enumerate(lines[docstring_start_index + 1 :]) if '"""' in line) | |
| + docstring_start_index | |
| + 1 | |
| ) | |
| # Replace the existing docstring with the new one, plus some line breaks in between. This _should_ result in a | |
| # correctly-formatted file with no syntax errors. | |
| lines = lines[:docstring_start_index] + [docstring, "\n"] + lines[docstring_end_index + 1 :] | |
| # Write the modified lines back to the file | |
| with open("invokeai/app/services/config/config_default.py", "w") as f: | |
| f.writelines(lines) | |
| if __name__ == "__main__": | |
| main() | |