You are on page 1of 25

Data Science

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


Sharthak Acharjee
Senior Manager
Celebal Technologies

Department of Computer Science and Engineering


MBM University, Jodhpur
April, 2024
Data Science
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


Sharthak Acharjee
Senior Manager
Celebal Technologies

Department of Computer Science and Engineering


MBM University, Jodhpur
April, 2024
2
DECLARATION

I, Saransh Rajpurohit hereby declare that this work titled “Data Science” is a record of
original work done by me under the supervision and guidance of Sharthak Acharjee,
Senior Manager - HR at Celebal Technologies from 10th June to 8th August 2023.

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 Mr. Sharthak Acharjee, 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 Celebal Technologies,


emphasizing Data Science development. Collaborating with senior developers, I honed
skills and gained industry insights. The project, a human action recognizer web
application deployed using Streamlit, 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 Django 3

2.2 Streamlit 5

2.3 Python 6

2.4 Slack 6

2.5 VS Code 7

2.6 Summary 7

PROJECT/WORK DETAILS 8

3.1 Project Overview 8

3.2 Development Process 9

3.3 Key Features 11

3.4 Deployment on Gunicorn 13

3.5 Learnings and Insights 14

3.6 Conclusion 14

RESULTS/OUTCOME 15

4.1 Skill Enhancement 15

4.2 Collaboration and Teamwork 15

4.3 Industry Insights 15

Conclusion & Future Works 16

References 17

6
List of Figures
1.1 Company Logo .……………………………………………………………. 1
2.1 Django Logo .………………………………………………………………... 3
2.2 Python Logo .………………………………………………………………... 6
2.3 Slack Logo .………………………………………………………………... 6
2.4 VS Code Logo .…………………………………………………………….. 7

3.1 Input………………………………………………………………………… 8

3.2 Output……………………………………………………………………….. 9

3.3 Jupyter Notebook……………………………………………………………. 10

3.4 Streamlit Code……………………………………………………………….. 12

7
Practical Training Report (B.E.)

Chapter 1
INTRODUCTION

Celebal Technologies, headquartered in the culturally rich city of Jaipur, stands as a


prominent player in the realm of software development and technology solutions.
Renowned for its innovative approach, commitment to excellence, and customer-centric
ethos, Celebal Technologies has carved a niche for itself in the competitive landscape of
the IT industry.

1.1 Organization Overview

Celebal Technologies is a premier software services company specializing in digital


transformation and enterprise reinvention, delivering end-to-end results to clients across
diverse sectors. Our dynamic suite of advanced solutions built on Generative AI, Machine
Learning, Data Science, Industry Data Models, Infrastructure & Database
Migration, SAP Extend & Innovate, App Modernization, and Enterprise Cloud
Integration, positions us at the nexus of traditional enterprise systems and modern cloud
innovation. With a global presence spanning the USA, India, APAC, UAE, Europe, and
Canada, Celebal Technologies boasts a dedicated workforce of over 2000+ professionals
that serve up an impressive client base, including 90% of Fortune 500 companies, guiding
them through their transformative digital journeys.

Fig. 1.1 Company Logo

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

1.2 Role Overview


As an intern at Celebal Technologies, 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, Streamlit, Django, and Gunicorn.
- 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 Streamlit, Python, Django, and Slack that
fuels data applications at Celebal Technologies. Streamlit simplifies creating data apps
with Python, while Django provides a robust backend framework. This duo empowers
data scientists to build interactive interfaces. Slack fosters seamless communication and
collaboration throughout the development process, ensuring all stakeholders are aligned.

2.1 Django

Fig. 2.1 Django Logo

Django, created by the Django Software Foundation, is a high-level Python web


framework renowned for its rapid development capabilities and clean, pragmatic design.
Following the Model-Template-View (MTV) architectural pattern, Django promotes code
reusability and separation of concerns. This structure allows developers to focus on core
functionalities like data models and business logic within the Models, while relegating
presentational aspects like HTML templates to the Templates layer. The Views act as
intermediaries, handling user requests and interacting with both Models and Templates to
deliver a dynamic and efficient web experience.

2.1.1 Model-Template-View (MTV) Architecture


Django's core architecture revolves around the Model-Template-View (MTV) pattern,
promoting code reusability and a clear separation of concerns. This structure simplifies
development by dividing responsibilities:

Chapter 2: Technologies Used 3


Practical Training Report (B.E.)

• Models: Define the data structure of your application, representing real-world


entities and their relationships. They encapsulate the data logic and interact with
the database.

• Templates: Handle the presentation layer, defining the HTML structure and
visual layout of your application. Templates leverage variables and tags to
dynamically render data retrieved from Models.

• Views: Act as intermediaries that process user requests. They interact with
Models to retrieve or manipulate data, and then utilize Templates to generate the
appropriate HTML response for the user. This separation allows you to modify
the presentation layer (Templates) without affecting the underlying data logic
(Models) and vice versa.

This structure fosters maintainability and scalability, making Django a powerful


framework for building complex and dynamic web applications.

2.1.2 Built-in Admin Interface


One of Django's major strengths is its built-in admin interface. This user-friendly web
interface allows you to effortlessly manage your application's data – create, read, update,
and delete (CRUD) records – without needing to develop a custom admin panel from
scratch. The admin interface automatically generates forms based on your Models,
making data management efficient and intuitive. You can also customize the admin
interface to tailor it to your specific needs and user roles.

2.1.3 URL Routing


Django employs a powerful URL routing system that maps incoming URLs to specific
views within your application. This allows you to define how your application responds
to different requests based on the URL pattern. The urls.py file serves as the central hub
for configuring URL routes, associating specific URL patterns with corresponding views.
This decoupling of URLs from views promotes clean architecture and simplifies the
process of handling various user interactions

Chapter 2: Technologies Used 4


Practical Training Report (B.E.)

2.2 Streamlit
Streamlit is a Python library specifically designed to streamline the creation of data apps.
Unlike traditional web frameworks requiring extensive front-end development, Streamlit
allows data scientists and developers to craft interactive web applications with minimal
code. It empowers Celebal Technologies by :

• Declarative Syntax: Streamlit utilizes a simple and declarative syntax, enabling


you to define the app's layout and functionality directly within Python code. This
eliminates the need for separate front-end frameworks like React.js or complex
HTML/CSS manipulation.

• Built-in Widgets: Streamlit offers a rich set of built-in widgets like buttons,
sliders, text boxes, and charts. These widgets seamlessly integrate with your data,
allowing users to interact with the application and explore data insights visually.

• Automatic Updates: Whenever your data or code changes, Streamlit


automatically updates the app in real-time. This eliminates the need for manual
refreshes or server restarts, providing a dynamic and interactive user experience.

• Rapid Prototyping: Streamlit's intuitive approach allows for rapid prototyping


of data applications. Data scientists can quickly experiment with different
visualizations and user interactions, accelerating the development cycle and
fostering data exploration.

Chapter 2: Technologies Used 5


Practical Training Report (B.E.)

2.3 Python

Fig. 2.2 Python Logo

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


for various functionalities at Celebal Technologies. 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.

2.4 Slack

Fig. 2.3 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
Celebal Technologies, 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 6


Practical Training Report (B.E.)

seamless communication and collaboration among team members, enhancing


productivity and workflow efficiency.

2.5 VS Code

Fig. 2.4 VS Code Logo

Visual Studio Code (VS Code) is a lightweight and extensible code editor developed by
Microsoft, favored by developers for its versatility, performance, and rich ecosystem of
extensions. At Celebal Technologies, 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.6 Summary

In summary, at Celebal Technologies, we leverage a powerful combination of


technologies to craft exceptional data applications and web experiences. Python, a
versatile and readable language, forms the core, enabling data science tasks, web
development with Django, and automation scripting. Streamlit streamlines data app
creation, while Django offers a robust framework for building complex web applications.
For seamless collaboration, we utilize Slack to keep teams connected. Finally, developers
enjoy the efficiency and productivity enhancements of VS Code. This diverse tech stack
empowers us to create innovative solutions exceeding client expectations and driving
business success.

Chapter 2: Technologies Used 7


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 Celebal Technologies. In this project I focused on building a Human Action Recognizer
(HAR) system. This system analyzes human movement through picture or camera data to
identify and categorize specific actions. 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


The human action recognizer project aims to build a system that can analyse images of
humans and predict the action they are performing. The system will take an image as input
and output the action label, such as "sitting," "running," "eating," etc. The model will be
trained on a dataset of human action images using deep learning techniques.

Fig. 3.1 Input

Chapter 3: Project/Work Details 8


Practical Training Report (B.E.)

Fig. 3.2 Output

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 9


Practical Training Report (B.E.)

Fig. 3.3 Jupyter Notebook

Chapter 3: Project/Work Details 10


Practical Training Report (B.E.)

3.3 Key Features


The project focuses on building a Human Action Recognition (HAR) system capable of
identifying and classifying human actions from images. Here's a breakdown of the
system's functionalities:

3.3.1 Functionality Overview

The system takes an image containing a human performing an action as input. This image
can be provided by the user through two channels:

• Streamlit UI: Users can directly upload images through a user-friendly interface
built with Streamlit.

• Django API: Developers can integrate the HAR functionality into their
applications by sending POST requests to a dedicated Django API endpoint.

3.3.2 System Workflow

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

1. Preprocessing: The uploaded image undergoes preprocessing steps using


libraries like Pillow. This may involve resizing, normalization, or other
transformations to ensure compatibility with the deep learning model.

2. Model Inference: The preprocessed image is fed into the pre-trained deep
learning model built with TensorFlow and Keras.

3. Action Prediction: The model analyzes the image and predicts the action label
representing the human activity in the image (e.g., "sitting," "running," "eating").

4. Output Delivery:

o Streamlit UI: The predicted label is displayed alongside the uploaded


image within the Streamlit interface.

o Django API: The API responds to the POST request with the predicted
action label in the response message.

Chapter 3: Project/Work Details 11


Practical Training Report (B.E.)

Fig. 3.4 Streamlit Code

Chapter 3: Project/Work Details 12


Practical Training Report (B.E.)

3.4 Deployment on Gunicorn

To ensure the HAR system's accessibility and functionality, a two-pronged deployment


approach is employed:

1. Django API Deployment:

o Gunicorn or uWSGI web server will be used to host the Django API. This
allows the model to be integrated with various applications through API
calls.

2. Streamlit UI Deployment:

o Streamlit offers deployment options like Streamlit Sharing or cloud


platforms. This separates the user interface from the backend API,
allowing for independent scaling and updates. Users can access the
Streamlit UI directly to interact with the model and receive action
predictions for their uploaded images.

This deployment strategy provides several advantages:

• Flexibility: Developers can leverage the API for programmatic interaction, while
users can enjoy a user-friendly interface through Streamlit.

• Scalability: Each component can be scaled independently depending on usage


patterns. Streamlit's deployment options often handle scaling automatically.

• Maintainability: Updates to the API or UI can be deployed independently,


minimizing downtime and impact on users.

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

Chapter 3: Project/Work Details 13


Practical Training Report (B.E.)

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, Django, Streamlit, and deployment on the Guvicorn
platform. Exposure to real-world project scenarios facilitated deeper understanding and
proficiency in machine learning technologies and best practices.

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
Streamlit platform represented a significant learning experience and milestone in the
internship journey at Celebal Technologies. 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 endeavors.

Chapter 3: Project/Work Details 14


Project Report Template (B.E.)

Chapter 4
RESULTS/OUTCOME

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

Project link :- Saransh149/Human-Action-Recognizer (github.com)

4.1 Skill Enhancement


Through hands-on experience and mentorship from senior data scientists, proficiency in
Streamlit 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 15
Practical Training Report (B.E.)

Chapter 5

CONCLUSION & FUTURE WORK


The internship journey at Celebal Technologies 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


Streamlit projects, collaborate with team members, and deploy applications on platforms
like Guvicorn 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 Celebal Technologies 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 16


Practical Training Report (B.E.)

References
[1] https://streamlit.io/

[2] https://www.datacamp.com/tutorial/streamlit

[3] https://www.djangoproject.com/

[4] https://www.w3schools.com/django/

[5] https://www.postman.com/

[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 17

You might also like