Skip to content

Instantly share code, notes, and snippets.

@sakibguy
Last active May 11, 2022 08:25
Show Gist options
  • Save sakibguy/8e8e9f98d6980fa4271a27cefff2594e to your computer and use it in GitHub Desktop.
Save sakibguy/8e8e9f98d6980fa4271a27cefff2594e to your computer and use it in GitHub Desktop.
### [vcs] Data Science
_Step 1: You have a local version of this repository on your laptop, and to get the latest stable version, you pull from the develop branch.
Switch to the develop branch
git checkout develop
Pull the latest changes in the develop branch
git pull
_Step 2: When you start working on this demographic feature, you create a new branch called demographic, and start working on your code in this branch.
Create and switch to a new branch called demographic from the develop branch
git checkout -b demographic
Work on this new feature and commit as you go
git commit -m 'added gender recommendations'
git commit -m 'added location specific recommendations'
_Step 3: However, in the middle of your work, you need to work on another feature. So you commit your changes on this demographic branch, and switch back to the develop branch.
Commit your changes before switching
git commit -m 'refactored demographic gender and location recommendations '
Switch to the develop branch
git checkout develop
_Step 4: From this stable develop branch, you create another branch for a new feature called friend_groups.
Create and switch to a new branch called friend_groups from the develop branch
git checkout -b friend_groups
_Step 5: After you finish your work on the friend_groups branch, you commit your changes, switch back to the development branch, merge it back to the develop branch, and push this to the remote repository’s develop branch.
Commit your changes before switching
git commit -m 'finalized friend_groups recommendations '
Switch to the develop branch
git checkout develop
Merge the friend_groups branch into the develop branch
git merge --no-ff friends_groups
Push to the remote repository
git push origin develop
_Step 6: Now, you can switch back to the demographic branch to continue your progress on that feature.
Switch to the demographic branch
git checkout demographic
_Step 7: You check your commit history, seeing messages about the changes you made and how well the code performed.
View the log history
git log
_Step 8: The model at this commit seemed to score the highest, so you decide to take a look.
Check out a commit
git checkout bc90f2cbc9dc4e802b46e7a153aa106dc9a88560
After inspecting your code, you realize what modifications made it perform well, and use those for your model.
_Step 9: Now, you're confident merging your changes back into the development branch and pushing the updated recommendation engine
Switch to the develop branch
git checkout develop
Merge the friend_groups branch into the develop branch
git merge --no-ff friend_groups
Push your changes to the remote repository
git push origin develop
Each commit being documented with a score for that model. This is one simple way to help you keep track of model versions. Version control in data science can be tricky, because there are many pieces involved that can be hard to track, such as large amounts of data, model versions, seeds, and hyperparameters.
The following resources offer useful methods and tools for managing model versions and large amounts of data. These are here for you to explore, but are not necessary to know now as you start your journey as a data scientist. On the job, you’ll always be learning new skills, and many of them will be specific to the processes set in your company.
How to version control your production machine learning models: https://blog.algorithmia.com/how-to-version-control-your-production-machine-learning-models/
Version Control ML Model: https://towardsdatascience.com/version-control-ml-model-4adb2db5f87c
A successful Git branching model
https://nvie.com/posts/a-successful-git-branching-model/
### COMPLEx GIT
https://github.com/sakibguy/work/blob/master/0_practice/5_20210917_scm_git/5_20210917_scm_git.txt
@sakibguy
Copy link
Author

sakibguy commented May 1, 2022

.gitignore (Unity2D AndroidGame)

https://github.com/sakibguy/makeapp-sneakysnake/blob/main/.gitignore
https://github.com/sakibguy/git-github-practices

# ===========================
# Default Collab Ignore Rules
# ===========================

# OS Generated
# ============
.DS_Store
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
[Tt]humbs.db
[Dd]esktop.ini

# Visual Studio / MonoDevelop generated
# =====================================
[Ee]xported[Oo]bj/
/*.userprefs
/*.csproj
/*.pidb
/*.suo
/*.sln
/*.user
/*.unityproj
/*.booproj

# Unity generated
# ===============
[Oo]bj/
[Bb]uild/
[Tt]emp/
[Li]brary/
Library
sysinfo.txt
/*.stackdump
/*.meta
/*.exe](url)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment