mirror of
https://github.com/serengil/deepface.git
synced 2025-06-06 19:45:21 +00:00
44 lines
1.0 KiB
Python
44 lines
1.0 KiB
Python
# built-in dependencies
|
|
import os
|
|
import hashlib
|
|
|
|
# 3rd party dependencies
|
|
import tensorflow as tf
|
|
|
|
# package dependencies
|
|
from deepface.commons.logger import Logger
|
|
|
|
logger = Logger(module="commons.package_utils")
|
|
|
|
|
|
def get_tf_major_version() -> int:
|
|
"""
|
|
Find tensorflow's major version
|
|
Returns
|
|
major_version (int)
|
|
"""
|
|
return int(tf.__version__.split(".", maxsplit=1)[0])
|
|
|
|
|
|
def find_hash_of_file(file_path: str) -> str:
|
|
"""
|
|
Find the hash of given image file with its properties
|
|
finding the hash of image content is costly operation
|
|
Args:
|
|
file_path (str): exact image path
|
|
Returns:
|
|
hash (str): digest with sha1 algorithm
|
|
"""
|
|
file_stats = os.stat(file_path)
|
|
|
|
# some properties
|
|
file_size = file_stats.st_size
|
|
creation_time = file_stats.st_ctime
|
|
modification_time = file_stats.st_mtime
|
|
|
|
properties = f"{file_size}-{creation_time}-{modification_time}"
|
|
|
|
hasher = hashlib.sha1()
|
|
hasher.update(properties.encode("utf-8"))
|
|
return hasher.hexdigest()
|