Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

train_model.py 3.3 KB

You have to be logged in to leave a comment. Sign In
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  1. #!/usr/bin/env python
  2. """
  3. This script patches the pymongo compatibility issue with Python 3.12
  4. and runs the model training pipeline.
  5. """
  6. import sys
  7. import os
  8. # Add compatibility patch for pymongo with Python 3.12
  9. import collections
  10. import collections.abc
  11. # Python 3.10+ moved these classes to collections.abc
  12. if not hasattr(collections, 'MutableMapping'):
  13. collections.MutableMapping = collections.abc.MutableMapping
  14. if not hasattr(collections, 'Mapping'):
  15. collections.Mapping = collections.abc.Mapping
  16. if not hasattr(collections, 'MutableSet'):
  17. collections.MutableSet = collections.abc.MutableSet
  18. if not hasattr(collections, 'Iterable'):
  19. collections.Iterable = collections.abc.Iterable
  20. # Now import and run the main training pipeline
  21. try:
  22. from networksecurity.components.data_ingestion import DataIngestion
  23. from networksecurity.components.data_validation import DataValidation
  24. from networksecurity.components.data_transformation import DataTransformation
  25. from networksecurity.components.model_trainer import ModelTrainer
  26. from networksecurity.entity.config_entity import (
  27. DataIngestionConfig,
  28. DataValidationConfig,
  29. DataTransformationConfig,
  30. ModelTrainerConfig,
  31. TrainingPipelineConfig
  32. )
  33. from networksecurity.exception.exception import NetworkSecurityException
  34. from networksecurity.logging.logger import logging
  35. if __name__ == "__main__":
  36. try:
  37. print("Starting the training pipeline...")
  38. # Initialize configurations
  39. training_pipeline_config = TrainingPipelineConfig()
  40. data_ingestion_config = DataIngestionConfig(training_pipeline_config)
  41. data_validation_config = DataValidationConfig(training_pipeline_config)
  42. data_transformation_config = DataTransformationConfig(training_pipeline_config)
  43. model_trainer_config = ModelTrainerConfig(training_pipeline_config)
  44. # Run pipeline
  45. print("Starting data ingestion...")
  46. data_ingestion = DataIngestion(data_ingestion_config)
  47. data_ingestion_artifact = data_ingestion.initiate_data_ingestion()
  48. print("Data ingestion completed.")
  49. print("Starting data validation...")
  50. data_validation = DataValidation(data_ingestion_artifact, data_validation_config)
  51. data_validation_artifact = data_validation.initiate_data_validation()
  52. print("Data validation completed.")
  53. print("Starting data transformation...")
  54. data_transformation = DataTransformation(data_validation_artifact, data_transformation_config)
  55. data_transformation_artifact = data_transformation.initiate_data_transformation()
  56. print("Data transformation completed.")
  57. print("Starting model training...")
  58. model_trainer = ModelTrainer(model_trainer_config, data_transformation_artifact)
  59. model_trainer_artifact = model_trainer.initiate_model_trainer()
  60. print("Model training completed.")
  61. print("Training pipeline completed successfully!")
  62. except Exception as e:
  63. print(f"Error in training pipeline: {e}")
  64. raise NetworkSecurityException(e, sys)
  65. except Exception as e:
  66. print(f"Error: {e}")
  67. sys.exit(1)
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...