Image Classification
Keras
English
cvt
tensorflow
computer-vision
image-processing
corn-kernel-classification
Instructions to use erukude/cornvit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Keras
How to use erukude/cornvit with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://erukude/cornvit") - Notebooks
- Google Colab
- Kaggle
| import os | |
| import random | |
| import shutil | |
| from tqdm import tqdm | |
| ###################### | |
| # | |
| ###################### | |
| def move_n_random_files(dir1: str, dir2: str, n: int) -> bool: | |
| """ | |
| Desc: | |
| This method moves 'n' random files from the source directory (dir1) to destination directory (dir2). | |
| Args: | |
| dir1 (str): Path to the source directory. | |
| dir2 (str): Path to the destination directory. | |
| n (int): The number of random files to be moved. | |
| Returns: | |
| True, if the operation was successful, otherwise False. | |
| """ | |
| try: | |
| # Check if the source and destination directory exists | |
| if not os.path.isdir(dir1): | |
| print(f"Directory '{dir1}' does not exist.") | |
| return False | |
| if not os.path.isdir(dir2): | |
| print(f"Directory '{dir2}' does not exist. Creating it.") | |
| os.makedirs(dir2) | |
| # Get all files (not directories) in the specified directory | |
| all_files = [f for f in os.listdir(dir1) if os.path.isfile(os.path.join(dir1, f))] | |
| if len(all_files) < n: | |
| print(f"Cannot move '{n}' files, directory only contains '{len(all_files)}' files.") | |
| return False | |
| files_to_move = random.sample(all_files, n) | |
| for file in tqdm(files_to_move): | |
| source_path = os.path.join(dir1, file) | |
| destination_path = os.path.join(dir2, file) | |
| # Move the file to the destination directory | |
| shutil.move(source_path, destination_path) | |
| return True | |
| except Exception as move_ex: | |
| print(f"Error occurred while moving files: {str(move_ex)}.") | |
| return False | |
| def copy_n_random_files(dir1: str, dir2: str, n: int) -> bool: | |
| """ | |
| Desc: | |
| Randomly select and copy 'n' files from one directory to another. | |
| Args: | |
| dir1 (str): Path to the source directory. | |
| dir2 (str): Path to the destination directory. Will be created if it doesn't exist. | |
| n (int): Number of files to randomly copy. | |
| Returns: | |
| bool: True if the operation was successful, False otherwise. | |
| """ | |
| try: | |
| # Check if the source directory exists | |
| if not os.path.isdir(dir1): | |
| print(f"Directory '{dir1}' does not exist.") | |
| return False | |
| # Ensure destination directory exists | |
| if not os.path.isdir(dir2): | |
| print(f"Directory '{dir2}' does not exist. Creating it.") | |
| os.makedirs(dir2) | |
| # Get list of all files (not directories) in source | |
| all_files = [f for f in os.listdir(dir1) if os.path.isfile(os.path.join(dir1, f))] | |
| if len(all_files) < n: | |
| n = len(all_files) | |
| print(f"Copying '{n}' files to '{dir2}'...") | |
| files_to_copy = random.sample(all_files, n) | |
| for file in tqdm(files_to_copy, desc="Copying files"): | |
| source_path = os.path.join(dir1, file) | |
| destination_path = os.path.join(dir2, file) | |
| shutil.copy(source_path, destination_path) | |
| return True | |
| except Exception as copy_ex: | |
| print(f"Error occurred while copying files: {str(copy_ex)}.") | |
| return False | |
| ###################### | |
| # | |
| ###################### | |
| def copy_n_unique_files(dir1, dir2, output_dir, n): | |
| """ | |
| Desc: | |
| This method iterates files in dir1 and checks if they are not present in dir2. If not present, copies the file to output_dir. Moves 'n' files in total. | |
| Args: | |
| dir1 (str): Path to directory 1. | |
| dir2 (str): Path to directory 2. | |
| output_dir (str): Path to the destination directory. | |
| n (int): The number of random files to be moved. | |
| Returns: | |
| True, if the operation was successful, otherwise False. | |
| """ | |
| try: | |
| # List all files in dir1 and dir2 | |
| dir1_files = [f for f in os.listdir(dir1) if os.path.isfile(os.path.join(dir1, f))] | |
| dir2_files = [f for f in os.listdir(dir2) if os.path.isfile(os.path.join(dir2, f))] | |
| # Filter out files that already exist in dir2 | |
| unique_files = [f for f in dir1_files if f not in dir2_files] | |
| # If no unique files are found | |
| if not unique_files: | |
| print("No unique files to move.") | |
| return False | |
| # Randomly select 'n' files to copy (make sure we don't select more than we have) | |
| files_to_copy = random.sample(unique_files, min(n, len(unique_files))) | |
| # Copy selected files to output_dir | |
| files_copied = 0 | |
| for file in files_to_copy: | |
| src_path = os.path.join(dir1, file) | |
| dest_path = os.path.join(output_dir, file) | |
| shutil.copy(src_path, dest_path) | |
| files_copied += 1 | |
| print(f"Copied: {file}") | |
| print(f"Total files copied: {files_copied}") | |
| return True | |
| except Exception as copy_ex: | |
| print(f"An error occurred while copying: {copy_ex}") | |
| return False | |
| ###################### | |
| # | |
| ###################### | |
| if __name__ == "__main__": | |
| dir1 = "" | |
| dir2 = "" | |
| n = 0 | |
| move_n_random_files(dir1, dir2, n) |