transformers / Makefile
AbdulElahGwaith's picture
Upload folder using huggingface_hub
a9bd396 verified
# make sure to test the local checkout in scripts and not the pre-installed one (don't use quotes!)
export PYTHONPATH = src
.PHONY: style check-repo fix-repo test test-examples benchmark
check_dirs := examples tests src utils scripts benchmark benchmark_v2
exclude_folders := ""
# this runs all linting/formatting scripts, most notably ruff
style:
ruff check $(check_dirs) setup.py conftest.py --fix --exclude $(exclude_folders)
ruff format $(check_dirs) setup.py conftest.py --exclude $(exclude_folders)
python utils/custom_init_isort.py
python utils/sort_auto_mappings.py
# Check that the repo is in a good state (both style and consistency CI checks)
# Note: each line is run in its own shell, and doing `-` before the command ignores the errors if any, continuing with next command
check-repo:
ruff check $(check_dirs) setup.py conftest.py
ruff format --check $(check_dirs) setup.py conftest.py
-python utils/custom_init_isort.py --check_only
-python utils/sort_auto_mappings.py --check_only
-python -c "from transformers import *" || (echo '🚨 import failed, this means you introduced unprotected imports! 🚨'; exit 1)
-python utils/check_copies.py
-python utils/check_modular_conversion.py
-python utils/check_doc_toc.py
-python utils/check_docstrings.py
-python utils/check_dummies.py
-python utils/check_repo.py
-python utils/check_modeling_structure.py
-python utils/check_inits.py
-python utils/check_pipeline_typing.py
-python utils/check_config_docstrings.py
-python utils/check_config_attributes.py
-python utils/check_doctest_list.py
-python utils/update_metadata.py --check-only
-python utils/add_dates.py --check-only
-@{ \
md5sum src/transformers/dependency_versions_table.py > md5sum.saved; \
python setup.py deps_table_update; \
md5sum -c --quiet md5sum.saved || (printf "Error: the version dependency table is outdated.\nPlease run 'make fix-repo' and commit the changes.\n" && exit 1); \
rm md5sum.saved; \
}
# Run all repo checks for which there is an automatic fix, most notably modular conversions
# Note: each line is run in its own shell, and doing `-` before the command ignores the errors if any, continuing with next command
fix-repo: style
-python setup.py deps_table_update
-python utils/check_doc_toc.py --fix_and_overwrite
-python utils/check_copies.py --fix_and_overwrite
-python utils/check_modular_conversion.py --fix_and_overwrite
-python utils/check_dummies.py --fix_and_overwrite
-python utils/check_pipeline_typing.py --fix_and_overwrite
-python utils/check_doctest_list.py --fix_and_overwrite
-python utils/check_docstrings.py --fix_and_overwrite
-python utils/add_dates.py
# Run tests for the library
test:
python -m pytest -n auto --dist=loadfile -s -v ./tests/
# Run tests for examples
test-examples:
python -m pytest -n auto --dist=loadfile -s -v ./examples/pytorch/
# Run benchmark
benchmark:
python3 benchmark/benchmark.py --config-dir benchmark/config --config-name generation --commit=diff backend.model=google/gemma-2b backend.cache_implementation=null,static backend.torch_compile=false,true --multirun
# Release stuff
pre-release:
python utils/release.py
pre-patch:
python utils/release.py --patch
post-release:
python utils/release.py --post_release
post-patch:
python utils/release.py --post_release --patch
build-release:
rm -rf dist
rm -rf build
python setup.py bdist_wheel
python setup.py sdist