You are on page 1of 22

Machine Learning

Training Report Submitted in Partial Fulfilment of the


Requirements for the Degree of

Bachelor of Engineering
in
Computer Science and Engineering
Submitted by
Saransh Rajpurohit: (Roll No. 21UCSE4028)

Under the Supervision of


Dr. Bharat Gupta
Coordinator and CI, E&ICT Academy
NIT Patna

Department of Computer Science and Engineering


MBM University, Jodhpur
April, 2024
Machine Learning
Training Report Submitted in Partial Fulfilment of the
Requirements for the Degree of

Bachelor of Engineering
in
Computer Science and Engineering
Submitted by
Saransh Rajpurohit: (Roll No. 21UCSE4028)

Under the Supervision of


Dr. Bharat Gupta
Coordinator and CI, E&ICT Academy
NIT Patna

Department of Computer Science and Engineering


MBM University, Jodhpur
April, 2024
2
DECLARATION

I, Saransh Rajpurohit hereby declare that this work titled “Machine Learning” is a
record of original work done by me under the supervision and guidance of Dr. Bharat
Gupta, Coordinator and CI, E&ICT Academy at NIT Patna from 6th June to 15th July
2022.

I, further certify that this work has not formed the basis for the award of the
Degree/Diploma/Associateship/Fellowship or similar recognition to any candidate of any
university and no part of this report is reproduced as it is from any other source without
appropriate reference and permission.

SIGNATURE OF STUDENT

(Saransh Rajpurohit)
VIII Semester, CSE
Enroll. - 20R/43805
Roll No. - 21UCSE4028

3
ACKNOWLEDGEMENT

In this internship I had a great chance for learning and professional development. I

consider myself a fortunate individual as I was provided with an opportunity to do this

internship in my third year.

I would like to thank Dr. Bharat Gupta, my internship guide who took time out to hear,

guide, and keep me on the correct path. I am also greatly thankful to Dr. Shrwan Ram,

the Head of the Department of Computer Science and Engineering, and other faculty

members for helping me complete my training successfully.

I perceive this opportunity as a big milestone in my career development. I will strive to

use gained skills and knowledge in the best possible way.

4
ABSTRACT

This report encapsulates an immersive internship journey at NIT Patna, emphasizing Data
Science development. Collaborating with senior developers, I honed skills and gained
industry insights. The project, a handwritten digit recognizer application created using
Deep Learning, demonstrated technical prowess. Key features included user action
identification, task management, and team collaboration. Through agile methodologies,
continuous integration, and feedback cycles, I navigated real-world challenges.
Reflections encompass acquired skills, teamwork, and future aspirations. This experience
laid a strong foundation for professional growth, fostering a commitment to ongoing
learning and advancement in the dynamic field of software engineering.

5
Contents
INTRODUCTION 1

1.1 Organization Overview 1

1.2 Role Overview 2

TECHNOLOGY USED 3

2.1 Python 3

2.2 TensorFlow 4

2.3 Slack 4

2.4 VS Code 5

2.5 Summary 5

PROJECT/WORK DETAILS 6

3.1 Project Overview 6

3.2 Development Process 7

3.3 Key Features 8

3.4 Deployment on Google Drive 9

3.5 Learnings and Insights 10

3.6 Conclusion 11

RESULTS/OUTCOME 12

4.1 Skill Enhancement 12

4.2 Collaboration and Teamwork 12

4.3 Industry Insights 12

References 14

6
List of Figures
1.1 EICT Logo .……………………………………………………………. 1
2.1 Python Logo .………………………………………………………………... 3
2.2 Slack Logo .………………………………………………………………... 4
2.3 VS Code Logo .…………………………………………………………….. 5

3.1 Input………………………………………………………………………… 6

3.2 Output Generated…………………………………………………………… 6

3.3 Source Code…………………………………………………………………. 7

7
Practical Training Report (B.E.)

Chapter 1
INTRODUCTION

National Institute of Technology Patna (NIT Patna), established in 1886, is a premier


engineering institution situated in the heart of Patna, Bihar. Renowned for its rich history,
rigorous academics, and focus on innovation, NIT Patna has produced generations of
talented engineers who contribute significantly to the technological advancements of
India and beyond. The institute fosters a vibrant learning environment, equipping students
with the technical expertise and problem-solving skills needed to excel in the ever-
evolving field of engineering.

1.1 Organization Overview

NIT Patna's Department of Electronics and Information Communication Technology


(EICT) focuses on nurturing future leaders in the ever-evolving field of information
technology. Through a rigorous curriculum encompassing areas like Generative AI,
Machine Learning, Data Science, and cloud computing, EICT equips students with the
knowledge and skills to design and implement cutting-edge solutions for diverse industry
needs. With a strong emphasis on research and innovation, the department fosters a
collaborative learning environment, preparing graduates to address real-world challenges
and shape the future of technology.

Fig. 1.1 EICT Logo

Chapter 1: Introduction 1
Practical Training Report (B.E.)

1.2 Role Overview


As an intern at EICT NIT Patna, I was thrust into the exciting world of data analysis and
exploration. My primary focus was on gaining practical experience in the field and
developing core data science skills. To achieve this, I was assigned a variety of projects
and responsibilities designed to refine my abilities and contribute meaningfully to the data
science team.

Under the guidance of experienced data scientists and mentors, my role encompassed the
following key responsibilities:

- Performing exploratory analysis to uncover trends, patterns, and relationships


within the data. This involved utilizing data visualization tools and statistical
methods to gain insights.
- Collaborating with team members on live projects to design, develop, and deploy
machine learning models using Python, Neural Networks and Tenserflow
libraries.
- Engaging in code reviews, discussions, and knowledge sharing sessions to foster
continuous learning and improvement.
- Adhering to best practices, coding standards, and project guidelines to ensure the
delivery of high-quality, scalable, and maintainable code.
- Embracing opportunities for cross-functional collaboration and skill
development, including participation in team meetings, workshops, and technical
discussions.

Throughout my internship, I embraced the opportunity to learn from experienced


professionals, contribute to real-world data science projects, and gain a deeper
understanding of the entire data science workflow. This experience has been instrumental
in solidifying my passion for this field and equipping me with the skills to excel in a data
science career.

Chapter 1: Introduction 2
Practical Training Report (B.E.)

Chapter 2

TECHNOLOGY USED

This chapter into the powerful combination of Neural Networks, Python, Tensorflow, and
Slack that fuels data applications at EICT NIT Patna. Python for core functionalities and
TensorFlow for building the deep learning model. Python's versatility facilitates data
manipulation and script automation, while TensorFlow offers the building blocks and
training capabilities to create an accurate models. Slack fosters seamless communication
and collaboration throughout the development process, ensuring all stakeholders are
aligned.

2.1 Python

Fig. 2.1 Python Logo

Python, a general-purpose, high-level programming language, serves as the foundation


for various functionalities at EICT NIT Patna. Its emphasis on readability and ease of use
makes it ideal for data science tasks, web development projects using frameworks like
Django, and scripting automation processes. Python's extensive library ecosystem
provides pre-built tools for data analysis (NumPy, Pandas), machine learning (Scikit-
learn, TensorFlow), web development (Django, Flask), and scientific computing (SciPy,
Matplotlib). This versatility, coupled with its clear syntax and strong community support,
positions Python as a powerful tool for tackling diverse development challenges.

Chapter 2: Technologies Used 3


Practical Training Report (B.E.)

2.2 TensorFlow
Tensorflow, an open-source library developed by Google, sits at the core of this project's
deep learning capabilities. TensorFlow excels at numerical computations and building
large-scale machine learning models. In this Handwritten Digit Recognition system,
TensorFlow serves two key purposes:

1. Model Building: TensorFlow provides the building blocks and functionalities to


construct the deep learning model responsible for analysing images and
classifying handwritten digit. Its flexible architecture allows for experimentation
with different neural network configurations to achieve optimal performance.

2. Model Training: TensorFlow facilitates the training process, where the model
learns to identify patterns and relationships within the handwritten digit image
dataset. This training process involves feeding the dataset images and their
corresponding action labels into the model, allowing it to refine its ability to
accurately predict actions from new unseen images.

By leveraging TensorFlow's powerful capabilities, the system can effectively learn from
data and achieve a high degree of accuracy in recognizing human actions from images.

2.3 Slack

Fig. 2.2 Slack Logo

Slack is a cloud-based communication and collaboration platform widely used in software


development teams for real-time messaging, file sharing, and project management. At
EICT NIT Patna, Slack serves as a central hub for team communication, enabling
developers to collaborate, share updates, and coordinate tasks efficiently. With features
such as channels, direct messaging, and integration with third-party tools, Slack fosters

Chapter 2: Technologies Used 4


Practical Training Report (B.E.)

seamless communication and collaboration among team members, enhancing


productivity and workflow efficiency.

2.4 VS Code

Fig. 2.3 VS Code Logo

Visual Studio Code (VS Code) is a lightweight and extensible code editor developed by
Microsoft, favoured by developers for its versatility, performance, and rich ecosystem of
extensions. At EICT NIT Patna, VS Code is the preferred code editor for frontend
development, offering features such as syntax highlighting, code completion, and
integrated Git support. With a user-friendly interface and powerful customization options,
VS Code enhances developer productivity and facilitates a seamless development
experience for ML projects.

2.5 Summary

In summary, at EICT NIT Patna, we leverage a powerful combination of technologies to


craft exceptional data applications and web experiences. Python serves as the foundation,
enabling data manipulation, building the core logic with TensorFlow for the deep learning
model, and streamlining development workflows with VS Code. For seamless
communication and knowledge sharing, we leverage Slack to keep teams aligned
throughout the development process. This combination of Python's versatility,
TensorFlow's machine learning prowess, VS Code's developer experience, and Slack's
collaborative features empowers us to tackle complex tasks and deliver exceptional
results.

Chapter 2: Technologies Used 5


Practical Training Report (B.E.)

Chapter 3

PROJECT/WORK DETAILS

In this chapter, we delve into the specifics of the project undertaken during the internship
at EICT NIT Patna. In this project I focused on building a Handwritten Digit Recognizer
(HDR) system. This system analyses handwritten digit through picture or camera data to
identify and categorize specific numbers. The project involved tasks like data acquisition,
model training, and potentially building a user interface for interaction. Throughout this
process, I collaborated with experts to gain valuable insights into the complexities of
Image Recognition technology and its real-world applications. This experience not only
honed my technical skills in this specific area but also broadened my understanding of
the field and its potential impact.

3.1 Project Overview

Fig. 3.1 Input

Fig. 3.2 Output Generated

The Handwritten Digit Recognizer aims to develop a system that can analyse images
containing handwritten digits and accurately identify the digit depicted. The system will

Chapter 3: Project/Work Details 6


Practical Training Report (B.E.)

take an image as input and output the corresponding digit label (0-9). To achieve this, a
deep learning model will be trained on a large dataset of labelled handwritten digit
images, enabling the system to learn the characteristic patterns of each digit and recognize
them effectively.

3.2 Development Process


Under the mentorship of senior data scientists, the development process followed agile
methodologies, with an emphasis on iterative development, continuous integration, and
regular feedback cycles. Team members collaborated closely using communication tools
such as Slack, conducting regular stand-up meetings, sprint planning sessions, and code
reviews to ensure alignment with project goals and timelines.

Chapter 3: Project/Work Details 7


Practical Training Report (B.E.)

Fig. 3.3 Source Code

3.3 Key Features


The project focuses on building a Handwritten Digit Recognition (HDR) system capable
of identifying and numbers from images. Here's a breakdown of the system's
functionalities:

3.3.1 Functionality Overview

• Decipher unclear digits: The system goes beyond perfectly formed digits,
aiming to recognize even unclear or messy handwriting.

• Automate number recognition in photos: Identify large quantities of numbers


within photographs, a task tedious or impractical for humans.

• Discover hidden digits: Uncover numbers embedded within images that might
be difficult to spot with the naked eye.

3.3.2 System Workflow

Regardless of the input method, the system follows a consistent workflow:

Chapter 3: Project/Work Details 8


Practical Training Report (B.E.)

• Development Environment: Google Colab with Python as the programming


language.

• Data Access: Google Drive is mounted within the project for dataset access using
Pandas.

• Data Preprocessing: Data is divided into separate DataFrames for features and
labels. Normalization with Keras reduces training time.

• Training/Testing Split: Sklearn's model_selection library is used to create


training and testing datasets.

• Neural Network Architecture: A seven-layer neural network is built using Keras


models and layers.

• Model Training: Keras optimizers, metrics, and TensorFlow power the training
process on the designated dataset.

• Model Evaluation: The trained model's performance is assessed using the testing
dataset.

• User Input: OpenCV's cv2.imread reads the user's image and converts it to
grayscale (28x28 pixels).

• Prediction: NumPy converts the image to an array, which is fed into the neural
network for digit prediction.

3.4 Deployment on Google Drive


To ensure the HDR system's accessibility and functionality, a remote deployment
approach is employed:

• While Colab isn't a traditional deployment platform, it offers several options for
sharing and running your trained model:

o Colab Notebooks: Share your notebook publicly (with limitations) or


restrict access for team collaboration.

Chapter 3: Project/Work Details 9


Practical Training Report (B.E.)

o Colab Sharing: Utilize Colab Sharing to create a sharable link to your


notebook, allowing others to run it without code modification.

o Model Serialization: Save your trained model using tools like


TensorFlow SavedModel or Keras HDF5 format. This allows you to
export the model for potential deployment on other platforms in the
future.

• Leveraging Colab's Advantages: This project thrives in a Colab environment due


to its:

o Online Nature: Accessible from any device with a web browser.

o Collaboration Features: Facilitate teamwork and real-time code


sharing.

o Pre-configured Libraries: Streamlines setup with pre-installed libraries


for machine learning and data science tasks.

o Free GPU Support (Optional): Access to powerful GPUs can


significantly accelerate training for larger datasets (availability may
vary).

By separating and strategically deploying the different parts of the system, we ensure a
robust, accessible, and user-friendly Handwritten Digit Recognition experience.

3.5 Learnings and Insights

3.5.1 Technical Skills

Working on the task tracking application provided valuable opportunities to enhance


technical skills in data science, Python, Neural Networks, and deployment on the Google
Colab platform. Exposure to real-world project scenarios facilitated deeper understanding
and proficiency in machine learning technologies and best practices.

Chapter 3: Project/Work Details 10


Practical Training Report (B.E.)

3.5.2 Collaboration and Teamwork

Collaborating with senior data scientists and team members from diverse backgrounds
fostered the development of collaboration, communication, and teamwork skills.
Engaging in team activities such as stand-up meetings, code reviews, and sprint planning
sessions enhanced the ability to work effectively within a team environment and
contribute to shared project goals.

3.5.3 Industry Insights

Exposure to industry practices and challenges provided valuable insights into the broader
landscape of software development. Learning how to navigate project requirements,
manage timelines, and prioritize tasks within a professional setting equipped with
practical knowledge and skills essential for future career growth and success.

3.6 Conclusion
The development and deployment of the human action recognizer web application on the
Neural Networks platform represented a significant learning experience and milestone in
the internship journey at EICT NIT Patna. Through hands-on experience, collaboration
with experienced developers, and exposure to industry practices, invaluable skills were
acquired, setting the foundation for continued growth and success in software
development endeavours.

Chapter 3: Project/Work Details 11


Project Report Template (B.E.)

Chapter 4
RESULTS/OUTCOME

The culmination of the internship experience at EICT NIT Patna has yielded tangible
results and valuable outcomes that contribute to both personal and professional growth.

Project link :- Saransh149/NIT-PATNA-INTERNSHIP-PROJECTS (github.com)

4.1 Skill Enhancement


Through hands-on experience and mentorship from senior data scientists, proficiency in
Machine Learning development has been significantly enhanced. The opportunity to
work on real-world projects and collaborate with team members has facilitated the
application of theoretical knowledge to practical scenarios, resulting in a deeper
understanding of data science technologies and best practices.

4.2 Collaboration and Teamwork

Engagement in team activities and collaboration with colleagues from diverse


backgrounds have fostered the development of collaboration, communication, and
teamwork skills. Participation in stand-up meetings, code reviews, and sprint planning
sessions has honed the ability to work effectively within a team environment, contributing
to shared project goals and objectives.

4.3 Industry Insights

Exposure to industry practices and challenges has provided valuable insights into the
broader landscape of software development. Understanding project requirements,
managing timelines, and prioritizing tasks within a professional setting have equipped me
with practical knowledge and skills essential for navigating the complexities of the
software development industry.

Chapter 4: Results/Outcomes 12
Practical Training Report (B.E.)

Chapter 5

CONCLUSION & FUTURE WORK


The internship journey at EICT NIT Patna has been a rewarding experience marked by
significant learning, growth, and accomplishment. Through hands-on experience,
collaboration with experienced professionals, and exposure to real-world projects,
valuable skills have been acquired and insights gained into the dynamic field of software
development.

Reflecting on the internship experience, it is evident that the opportunity to work on


Computer Vision projects, collaborate with team members, and deploy applications on
platforms like Colab Notebooks has been instrumental in enhancing technical proficiency,
fostering collaboration and teamwork, and gaining industry insights. The application of
theoretical knowledge to practical scenarios and exposure to industry best practices have
positioned for success in future software development endeavours.

As the journey in software development continues, the experiences gained during the
internship at EICT NIT Patna will serve as a solid foundation upon which to build and
navigate the ever-evolving landscape of technology with confidence, curiosity, and a
commitment to continuous learning and growth.

Chapter 5: Conclusion & Future Work 13


Practical Training Report (B.E.)

References
[1] https://www.tensorflow.org/

[2] https://www.ibm.com/topics/computer-vision

[3] https://www.sas.com/en_in/insights/analytics/computer-vision.html

[4] https://aws.amazon.com/what-is/neural-
network/#:~:text=A%20neural%20network%20is%20a,inspired%20by%20the%20
human%20brain.

[5] https://news.mit.edu/2017/explained-neural-networks-deep-learning-0414

[6] https://pillow.readthedocs.io/

[7] https://realpython.com/image-processing-with-the-python-pillow-library/

[8] https://slack.com/

[9] https://code.visualstudio.com/

References 14

You might also like