Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Nuomanzz
TangoFlux
Commits
f0877951
Commit
f0877951
authored
Dec 29, 2024
by
hungchiayu1
Browse files
update gitignore
parent
337829fe
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
738 additions
and
0 deletions
+738
-0
.gitignore
.gitignore
+170
-0
TangoFlux.py
TangoFlux.py
+57
-0
model.py
model.py
+511
-0
No files found.
.gitignore
0 → 100644
View file @
f0877951
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
# PyPI configuration file
.pypirc
TangoFlux.py
0 → 100644
View file @
f0877951
from
diffusers
import
AutoencoderOobleck
import
torch
from
transformers
import
T5EncoderModel
,
T5TokenizerFast
from
diffusers
import
FluxTransformer2DModel
from
torch
import
nn
from
typing
import
List
from
diffusers
import
FlowMatchEulerDiscreteScheduler
from
diffusers.training_utils
import
compute_density_for_timestep_sampling
import
copy
import
torch.nn.functional
as
F
import
numpy
as
np
from
model
import
TangoFlux
from
huggingface_hub
import
snapshot_download
from
tqdm
import
tqdm
from
typing
import
Optional
,
Union
,
List
from
datasets
import
load_dataset
,
Audio
from
math
import
pi
import
json
import
inspect
import
yaml
from
safetensors.torch
import
load_file
class
TangoFluxInference
:
def
__init__
(
self
,
name
=
'declare-lab/TangoFlux'
,
device
=
"cuda"
):
self
.
vae
=
AutoencoderOobleck
.
from_pretrained
(
"stabilityai/stable-audio-open-1.0"
,
subfolder
=
'vae'
)
paths
=
snapshot_download
(
repo_id
=
name
)
weights
=
load_file
(
"{}/tangoflux.safetensors"
.
format
(
paths
))
with
open
(
'{}/config.json'
.
format
(
paths
),
'r'
)
as
f
:
config
=
json
.
load
(
f
)
self
.
model
=
TangoFlux
(
config
)
self
.
model
.
load_state_dict
(
weights
,
strict
=
False
)
# _IncompatibleKeys(missing_keys=['text_encoder.encoder.embed_tokens.weight'], unexpected_keys=[]) this behaviour is expected
self
.
vae
.
to
(
device
)
self
.
model
.
to
(
device
)
def
generate
(
self
,
prompt
,
steps
=
25
,
duration
=
10
,
guidance_scale
=
4.5
):
with
torch
.
no_grad
():
latents
=
self
.
model
.
inference_flow
(
prompt
,
duration
=
duration
,
num_inference_steps
=
steps
,
guidance_scale
=
guidance_scale
)
wave
=
self
.
vae
.
decode
(
latents
.
transpose
(
2
,
1
)).
sample
.
cpu
()[
0
]
return
wave
model.py
0 → 100644
View file @
f0877951
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment