🔗 Site officiel : bit-scripts.github.io
Ce projet permet d'appliquer un style Ghibli animé à des vidéos ou images, en utilisant les modèles de AnimeGANv2 convertis au format ONNX, optimisés pour des machines avec GPU AMD + ROCm.
- ✅ Support des modèles ONNX ou TensorFlow
.pb
- ✅ Compatible CPU + GPU (AMD via ROCm grâce à
onnxruntime
) - ✅ Visualisation des résultats et histogrammes avec
matplotlib
- ✅ Recomposition automatique en vidéo avec
ffmpeg
pip install -r requirements.txt
requirements.txt
:
numpy
opencv-python
tensorflow==1.15.0
matplotlib
tqdm
onnxruntime # Pour CPU
# ou, si tu as un GPU AMD + ROCm :
# onnxruntime-rocm -f https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.4/
🔥 Si tu utilises une carte AMD Radeon compatible ROCm, installe onnxruntime-rocm
:
pip uninstall onnxruntime
pip install onnxruntime-rocm -f https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.4/
python ghibli_video_pipeline.py \
--video chemin/vers/video.mp4 \
--model models/Hayao.onnx \
--preview \
--clean-frames
Pour exporter ou convertir les modèles, commence par cloner le dépôt officiel :
git clone https://github.com/TachibanaYoshino/AnimeGANv2.git
cd AnimeGANv2
Tu pourras ensuite utiliser les checkpoints disponibles dans checkpoint/
.
Avant de convertir un modèle vers ONNX, il faut l'exporter au format .pb
avec le script fourni par AnimeGANv2 :
python tools/export_model.py \
--checkpoint_dir checkpoint/AnimeGAN_Hayao \
--export_dir output \
--model_name generator_Hayao.pb
Cela génère un fichier .pb
figé utilisable pour la conversion suivante.
python -m tf2onnx.convert \
--graphdef output/generator_Hayao.pb \
--inputs test_input:0 \
--outputs generator_1/G_MODEL/out_layer/Tanh:0 \
--output models/Hayao.onnx \
--opset 11
Pour lister les entrées et sorties d’un modèle .pb
, utilise :
python tools/list_inputs.py
python tools/nodes_list.py
Tu peux utiliser tous les modèles AnimeGANv2 :
Hayao.onnx
— style GhibliShinkai.onnx
— style Makoto ShinkaiPaprika.onnx
— style Satoshi Kon
tools/list_inputs.py
→ affiche les nœuds d’entréetools/nodes_list.py
→ affiche les nœuds de sortie (à utiliser pour --outputs)tools/export_model.py
→ convertit.ckpt
vers.pb
tools/freeze_graph.py
→ script modifié pour exporter les graphes de manière compatible avec ONNX
Grâce à onnxruntime
, tu peux faire tourner les modèles sur GPU AMD compatibles ROCm (Radeon Open Compute).
Cela évite la dépendance à CUDA/NVIDIA et fonctionne parfaitement sous Ubuntu.
MIT — feel free to contribute under bit-scripts.
Créé avec ❤️ par un amoureux de Ghibli & de l'open source