Saluki / scripts /check_install.py
wuxing0105's picture
Upload folder using huggingface_hub (part 2)
986e0b8 verified
Raw
History Blame Contribute Delete
1.61 kB
#!/usr/bin/env python3
"""Check the OneScience/DTK TensorFlow runtime and build Saluki."""
from __future__ import annotations
import argparse
import json
from pathlib import Path
from _bootstrap import configure_runtime
ROOT = configure_runtime()
def main() -> None:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--params", type=Path, default=ROOT / "conf" / "params.json")
parser.add_argument("--forward", action="store_true", help="Run one zero-input forward pass.")
args = parser.parse_args()
import numpy as np
import tensorflow as tf
from model.saluki import SalukiModel, load_params
params = load_params(args.params)
model = SalukiModel(params, head=0)
report = {
"tensorflow": tf.__version__,
"built_with_gpu": tf.test.is_built_with_gpu_support(),
"gpus": [device.name for device in tf.config.list_physical_devices("GPU")],
"input_shape": list(model.keras_model.input_shape),
"output_shape": list(model.keras_model.output_shape),
"parameters": int(model.keras_model.count_params())
}
if args.forward:
shape = model.keras_model.input_shape
output = model.keras_model(
np.zeros((1, shape[1], shape[2]), dtype=np.float32), training=False
)
output_np = output.numpy()
report["forward"] = {
"shape": list(output_np.shape),
"finite": bool(np.isfinite(output_np).all()),
"device": output.device
}
print(json.dumps(report, indent=2))
if __name__ == "__main__":
main()