SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Part II
            Development

Andrea Vedaldi          Brian Fulkerson
Visual Geometry Group       VisonLab
        Oxford               UCLA
Deadline workflow                                                          66

• Typical workflow
  - code
  - import third party libraries
    (e.g. LibSVM, OpenCV, GIL, VLFeat, ...)
  - tweak
  - submit paper
  - tweak
  - camera ready
• Can’t reproduce experiments anymore!            Credit: phdcomics.com

• What changed?
  - your own code?
  - third party code?
  - your customization of third party code?
  - ??

                                              Andrea Vedaldi and Brian Fulkerson
Version control                                                                   67

• A good version control system is a valuable tool
• With version control you can:
  - track changes
  - safely share code among multiple authors
  - safely share code among multiple projects
  - safely incorporate third party code
• Example: git
  - flexible, solid, portable, well supported
  - no central repository
  - personal use or collaboration
  - slightly harder to learn than CVS/SVN



                                                     Andrea Vedaldi and Brian Fulkerson
Cross platform git installation                                                      68




• Linux                                   • Mac
- sudo apt-get install git-core gitk      - git (via MacPorts)
                                          - gitx: http://gitx.frim.nl/

• Windows
  - msysgit: http://code.google.com/p/msysgit/
  - git-gui visual intro: http://nathanj.github.com/gitguide/tour.html
  - gitextensions: http://code.google.com/p/gitextensions/
                                                        Andrea Vedaldi and Brian Fulkerson
Really basic git                                                                69

• Creating aanew repository is simple:
  # Create    new git repo in the current folder
  git init

• SoDuplicate aone: repo in the folder repo1 to folder repo2
  #
     is copying
                git
  git clone repo1 repo2

• Keeping track of new files:
  # Add one file
  git add file1
  # Add everything
  git add *

• Makingall“commit”: in one file and commit it
  # Add
         a
             changes
  git add file1
  git commit
  # Commit all changes on all tracked files
  git commit -a



                                                   Andrea Vedaldi and Brian Fulkerson
Really basic git collaboration                                                70

• Create a new bare repository:
  ssh me@server
  mkdir repo.git
  cd repo.git
  git init --bare

• Tell your local repo aboutme@server:repo.git
  git remote add origin
                             the server


• Pushpush origin master
  git
       a copy to the server


• Collaborator gets a copy and makes changes
  git clone co@server:~me/repo.git
  ...
  git commit -a -m “Best changes ever”

• And push they want to share
  git
      now


• And pullwant to get the changes
  git
      you

                                                 Andrea Vedaldi and Brian Fulkerson
Learning more about git                                                                       71

• Learning git
  - web tutorial, podcasts, ...
  - Version Control with Git
• Git keeps track of commits and trees
          commit: a tree with a comment, author, date

      tree: snapshot of your project (files, dirs, ...)

                                          ECCV submission

                                           fixed lethal bugs

                                           improved ASCII arts

                                           improved comments

                                           initial version


                                                                 Andrea Vedaldi and Brian Fulkerson
Version control with third party code                                                72

• Manage third party code:
  - encapsulate third party code
  - integrate with your project
• Benefits:
  - track third party changes
  - track your customization
  - move customizations on top of third party changes
• Example
  - package LibSVM 2.89-3
  - make some changes
  - add the new LibSVM 2.91-1
  - move your changes on top of the new version


                                                        Andrea Vedaldi and Brian Fulkerson
Tracking LibSVM                                                      73

• Track libsvm-mat-2.89-3 with Git
  # download and unpack LibSVM 2.89-3
  unzip libsvm-mat-2.89-3.zip

  # initalize repository                      master
  mkdir libsvm-mat                            2.89-3
  cd libsvm-mat
  cp -r ../libsvm-mat-2.89-3 .
                                             The libsvm-mat-2.89-3
  git init                                   source code
  git add *
  git commit -m "2.89-3"




                                        Andrea Vedaldi and Brian Fulkerson
Tracking LibSVM: customize                                                74

• We make two changes:
  - adds support for additional PD kernels
  - adds host detection to the Makefile
  cd libsvm
  git branch 2.89-3-mods
  git checkout 2.89-3-mods
  # edit kernel code
                                                   Makefile: adds ...
  git commit -a -m "adds support for ...”
  # edit Makefile                                  adds support ...
  git commit -a -m "Makefile: adds ...”
                                                   2.89-3-mods
                                                   2.89-3 master




                                             Andrea Vedaldi and Brian Fulkerson
Tracking LibSVM: upstream update                                     75


• 2.91-1 is out! Grab it.
  # download and unpack LibSVM 2.91-1
  unzip libsvm-mat-2.91-1.zip
  # rewind
  cd libsvm-mat
  git checkout master                    2.91-1
  # create commit
                                              2.89-3-mods
  cp -r ../libsvm-mat-2.91-1/* .
                                              Makefile: adds ...
  git add *
  git commit -m "2.91-1"
                                              adds support ...

                                              2.89-3 master




                                        Andrea Vedaldi and Brian Fulkerson
Tracking LibSVM: rebase your mods                                     76


• Apply your changes to the new LibSVM
 # checkout branch with your mods
 cd libsvm-mat
 git branch 2.91-3-mods 2.89-3-mods
 git rebase master 2.91-1-mods
                                          2.91-1 master
                                              2.91-1-mods
                                              2.89-3-mods
                                              2.91-1-mods
                                              Makefile: adds ...

                                               adds support ...

                                               2.89-3




                                         Andrea Vedaldi and Brian Fulkerson
Contributing to VLFeat                                                        77




• We handle git://github.com/vlfeat/vlfeat.git
  git clone
            collaboration using github.com:


• For minor changesorigin
  git-format-patch

• For major changes and additions
  -   http://help.github.com/forking/
                                                 Andrea Vedaldi and Brian Fulkerson

Más contenido relacionado

La actualidad más candente

CM_SME revised bc635_637PCI_V2_Linux_SDK
CM_SME revised bc635_637PCI_V2_Linux_SDKCM_SME revised bc635_637PCI_V2_Linux_SDK
CM_SME revised bc635_637PCI_V2_Linux_SDKChris Muntzer
 
Design, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformDesign, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformSZ Lin
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesHelder Klemp
 
[Celix] Scaling DevOps with Puppet and Perforce
[Celix] Scaling DevOps with Puppet and Perforce[Celix] Scaling DevOps with Puppet and Perforce
[Celix] Scaling DevOps with Puppet and PerforcePerforce
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...SZ Lin
 
Container Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're GoingContainer Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're GoingPhil Estes
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupKamesh Pemmaraju
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to KubernetesImesh Gunaratne
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack bostondotCloud
 
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...Edureka!
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An IntroductionPOSSCON
 
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...Anne Nicolas
 
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theoryEmbedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theoryEmbeddedFest
 
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practiceEmbedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practiceEmbeddedFest
 

La actualidad más candente (20)

CM_SME revised bc635_637PCI_V2_Linux_SDK
CM_SME revised bc635_637PCI_V2_Linux_SDKCM_SME revised bc635_637PCI_V2_Linux_SDK
CM_SME revised bc635_637PCI_V2_Linux_SDK
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Design, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformDesign, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux Platform
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
[Celix] Scaling DevOps with Puppet and Perforce
[Celix] Scaling DevOps with Puppet and Perforce[Celix] Scaling DevOps with Puppet and Perforce
[Celix] Scaling DevOps with Puppet and Perforce
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...
 
SVN 2 Git
SVN 2 GitSVN 2 Git
SVN 2 Git
 
Container Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're GoingContainer Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're Going
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Git Presentation
Git PresentationGit Presentation
Git Presentation
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack boston
 
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
Linux Tutorial For Beginners | Linux Administration Tutorial | Linux Commands...
 
Web fundamentals
Web fundamentalsWeb fundamentals
Web fundamentals
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...
Kernel Recipes 2014 - The Linux Kernel, how fast it is developed and how we s...
 
Rexdockercon2017
Rexdockercon2017Rexdockercon2017
Rexdockercon2017
 
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theoryEmbedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
 
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practiceEmbedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
 

Destacado

NIPS2007: structured prediction
NIPS2007: structured predictionNIPS2007: structured prediction
NIPS2007: structured predictionzukun
 
Vincent Portfolio 0411
Vincent Portfolio 0411Vincent Portfolio 0411
Vincent Portfolio 0411vincenttse
 
ICCV2009: MAP Inference in Discrete Models: Part 5
ICCV2009: MAP Inference in Discrete Models: Part 5ICCV2009: MAP Inference in Discrete Models: Part 5
ICCV2009: MAP Inference in Discrete Models: Part 5zukun
 
Powerpoint meds 1101
Powerpoint meds 1101Powerpoint meds 1101
Powerpoint meds 1101aliaalhirsi
 
Lecture07
Lecture07Lecture07
Lecture07zukun
 
CVPR2010: Learnings from founding a computer vision startup: Chapter 0: Intro...
CVPR2010: Learnings from founding a computer vision startup: Chapter 0: Intro...CVPR2010: Learnings from founding a computer vision startup: Chapter 0: Intro...
CVPR2010: Learnings from founding a computer vision startup: Chapter 0: Intro...zukun
 
Lecture02
Lecture02Lecture02
Lecture02zukun
 
Northlake Mall
Northlake MallNorthlake Mall
Northlake MallEvanXP
 

Destacado (8)

NIPS2007: structured prediction
NIPS2007: structured predictionNIPS2007: structured prediction
NIPS2007: structured prediction
 
Vincent Portfolio 0411
Vincent Portfolio 0411Vincent Portfolio 0411
Vincent Portfolio 0411
 
ICCV2009: MAP Inference in Discrete Models: Part 5
ICCV2009: MAP Inference in Discrete Models: Part 5ICCV2009: MAP Inference in Discrete Models: Part 5
ICCV2009: MAP Inference in Discrete Models: Part 5
 
Powerpoint meds 1101
Powerpoint meds 1101Powerpoint meds 1101
Powerpoint meds 1101
 
Lecture07
Lecture07Lecture07
Lecture07
 
CVPR2010: Learnings from founding a computer vision startup: Chapter 0: Intro...
CVPR2010: Learnings from founding a computer vision startup: Chapter 0: Intro...CVPR2010: Learnings from founding a computer vision startup: Chapter 0: Intro...
CVPR2010: Learnings from founding a computer vision startup: Chapter 0: Intro...
 
Lecture02
Lecture02Lecture02
Lecture02
 
Northlake Mall
Northlake MallNorthlake Mall
Northlake Mall
 

Similar a Cvpr2010 open source vision software, intro and training part ii - using git to track third party projects - vedaldi, fulkerson - arzneimittel-forschung - 2010

Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Gitatishgoswami
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
 
Git workflow libre semikov
Git workflow libre semikovGit workflow libre semikov
Git workflow libre semikovInna Kravchenko
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configurationKishor Kumar
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
Let's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubLet's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubKim Moir
 
Version Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part IVersion Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part ISergey Aganezov
 
Git 入门与实践
Git 入门与实践Git 入门与实践
Git 入门与实践Terry Wang
 
Hackaton for health 2015 - Sharing the Code we Make
Hackaton for health 2015 - Sharing the Code we MakeHackaton for health 2015 - Sharing the Code we Make
Hackaton for health 2015 - Sharing the Code we Makeesben1962
 
Git 入门 与 实践
Git 入门 与 实践Git 入门 与 实践
Git 入门 与 实践Terry Wang
 
ePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlGiuseppe Masetti
 
Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github Max Claus Nunes
 

Similar a Cvpr2010 open source vision software, intro and training part ii - using git to track third party projects - vedaldi, fulkerson - arzneimittel-forschung - 2010 (20)

Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 
Git workflow libre semikov
Git workflow libre semikovGit workflow libre semikov
Git workflow libre semikov
 
GIT.pptx
GIT.pptxGIT.pptx
GIT.pptx
 
Git
GitGit
Git
 
git and github
git and githubgit and github
git and github
 
Basic git
Basic gitBasic git
Basic git
 
Git basics
Git basicsGit basics
Git basics
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
git.ppt.pdf
git.ppt.pdfgit.ppt.pdf
git.ppt.pdf
 
Let's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubLet's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHub
 
Version Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part IVersion Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part I
 
Git 入门与实践
Git 入门与实践Git 入门与实践
Git 入门与实践
 
Git
GitGit
Git
 
Hackaton for health 2015 - Sharing the Code we Make
Hackaton for health 2015 - Sharing the Code we MakeHackaton for health 2015 - Sharing the Code we Make
Hackaton for health 2015 - Sharing the Code we Make
 
Git 入门 与 实践
Git 入门 与 实践Git 入门 与 实践
Git 入门 与 实践
 
ePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version Control
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github
 

Más de zukun

My lyn tutorial 2009
My lyn tutorial 2009My lyn tutorial 2009
My lyn tutorial 2009zukun
 
ETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCVETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCVzukun
 
ETHZ CV2012: Information
ETHZ CV2012: InformationETHZ CV2012: Information
ETHZ CV2012: Informationzukun
 
Siwei lyu: natural image statistics
Siwei lyu: natural image statisticsSiwei lyu: natural image statistics
Siwei lyu: natural image statisticszukun
 
Lecture9 camera calibration
Lecture9 camera calibrationLecture9 camera calibration
Lecture9 camera calibrationzukun
 
Brunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer visionBrunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer visionzukun
 
Modern features-part-4-evaluation
Modern features-part-4-evaluationModern features-part-4-evaluation
Modern features-part-4-evaluationzukun
 
Modern features-part-3-software
Modern features-part-3-softwareModern features-part-3-software
Modern features-part-3-softwarezukun
 
Modern features-part-2-descriptors
Modern features-part-2-descriptorsModern features-part-2-descriptors
Modern features-part-2-descriptorszukun
 
Modern features-part-1-detectors
Modern features-part-1-detectorsModern features-part-1-detectors
Modern features-part-1-detectorszukun
 
Modern features-part-0-intro
Modern features-part-0-introModern features-part-0-intro
Modern features-part-0-introzukun
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video searchzukun
 
Lecture 01 internet video search
Lecture 01 internet video searchLecture 01 internet video search
Lecture 01 internet video searchzukun
 
Lecture 03 internet video search
Lecture 03 internet video searchLecture 03 internet video search
Lecture 03 internet video searchzukun
 
Icml2012 tutorial representation_learning
Icml2012 tutorial representation_learningIcml2012 tutorial representation_learning
Icml2012 tutorial representation_learningzukun
 
Advances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer visionAdvances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer visionzukun
 
Gephi tutorial: quick start
Gephi tutorial: quick startGephi tutorial: quick start
Gephi tutorial: quick startzukun
 
EM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysisEM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysiszukun
 
Object recognition with pictorial structures
Object recognition with pictorial structuresObject recognition with pictorial structures
Object recognition with pictorial structureszukun
 
Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities zukun
 

Más de zukun (20)

My lyn tutorial 2009
My lyn tutorial 2009My lyn tutorial 2009
My lyn tutorial 2009
 
ETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCVETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCV
 
ETHZ CV2012: Information
ETHZ CV2012: InformationETHZ CV2012: Information
ETHZ CV2012: Information
 
Siwei lyu: natural image statistics
Siwei lyu: natural image statisticsSiwei lyu: natural image statistics
Siwei lyu: natural image statistics
 
Lecture9 camera calibration
Lecture9 camera calibrationLecture9 camera calibration
Lecture9 camera calibration
 
Brunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer visionBrunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer vision
 
Modern features-part-4-evaluation
Modern features-part-4-evaluationModern features-part-4-evaluation
Modern features-part-4-evaluation
 
Modern features-part-3-software
Modern features-part-3-softwareModern features-part-3-software
Modern features-part-3-software
 
Modern features-part-2-descriptors
Modern features-part-2-descriptorsModern features-part-2-descriptors
Modern features-part-2-descriptors
 
Modern features-part-1-detectors
Modern features-part-1-detectorsModern features-part-1-detectors
Modern features-part-1-detectors
 
Modern features-part-0-intro
Modern features-part-0-introModern features-part-0-intro
Modern features-part-0-intro
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video search
 
Lecture 01 internet video search
Lecture 01 internet video searchLecture 01 internet video search
Lecture 01 internet video search
 
Lecture 03 internet video search
Lecture 03 internet video searchLecture 03 internet video search
Lecture 03 internet video search
 
Icml2012 tutorial representation_learning
Icml2012 tutorial representation_learningIcml2012 tutorial representation_learning
Icml2012 tutorial representation_learning
 
Advances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer visionAdvances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer vision
 
Gephi tutorial: quick start
Gephi tutorial: quick startGephi tutorial: quick start
Gephi tutorial: quick start
 
EM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysisEM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysis
 
Object recognition with pictorial structures
Object recognition with pictorial structuresObject recognition with pictorial structures
Object recognition with pictorial structures
 
Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities
 

Último

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 

Último (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Cvpr2010 open source vision software, intro and training part ii - using git to track third party projects - vedaldi, fulkerson - arzneimittel-forschung - 2010

  • 1. Part II Development Andrea Vedaldi Brian Fulkerson Visual Geometry Group VisonLab Oxford UCLA
  • 2. Deadline workflow 66 • Typical workflow - code - import third party libraries (e.g. LibSVM, OpenCV, GIL, VLFeat, ...) - tweak - submit paper - tweak - camera ready • Can’t reproduce experiments anymore! Credit: phdcomics.com • What changed? - your own code? - third party code? - your customization of third party code? - ?? Andrea Vedaldi and Brian Fulkerson
  • 3. Version control 67 • A good version control system is a valuable tool • With version control you can: - track changes - safely share code among multiple authors - safely share code among multiple projects - safely incorporate third party code • Example: git - flexible, solid, portable, well supported - no central repository - personal use or collaboration - slightly harder to learn than CVS/SVN Andrea Vedaldi and Brian Fulkerson
  • 4. Cross platform git installation 68 • Linux • Mac - sudo apt-get install git-core gitk - git (via MacPorts) - gitx: http://gitx.frim.nl/ • Windows - msysgit: http://code.google.com/p/msysgit/ - git-gui visual intro: http://nathanj.github.com/gitguide/tour.html - gitextensions: http://code.google.com/p/gitextensions/ Andrea Vedaldi and Brian Fulkerson
  • 5. Really basic git 69 • Creating aanew repository is simple: # Create new git repo in the current folder git init • SoDuplicate aone: repo in the folder repo1 to folder repo2 # is copying git git clone repo1 repo2 • Keeping track of new files: # Add one file git add file1 # Add everything git add * • Makingall“commit”: in one file and commit it # Add a changes git add file1 git commit # Commit all changes on all tracked files git commit -a Andrea Vedaldi and Brian Fulkerson
  • 6. Really basic git collaboration 70 • Create a new bare repository: ssh me@server mkdir repo.git cd repo.git git init --bare • Tell your local repo aboutme@server:repo.git git remote add origin the server • Pushpush origin master git a copy to the server • Collaborator gets a copy and makes changes git clone co@server:~me/repo.git ... git commit -a -m “Best changes ever” • And push they want to share git now • And pullwant to get the changes git you Andrea Vedaldi and Brian Fulkerson
  • 7. Learning more about git 71 • Learning git - web tutorial, podcasts, ... - Version Control with Git • Git keeps track of commits and trees commit: a tree with a comment, author, date tree: snapshot of your project (files, dirs, ...) ECCV submission fixed lethal bugs improved ASCII arts improved comments initial version Andrea Vedaldi and Brian Fulkerson
  • 8. Version control with third party code 72 • Manage third party code: - encapsulate third party code - integrate with your project • Benefits: - track third party changes - track your customization - move customizations on top of third party changes • Example - package LibSVM 2.89-3 - make some changes - add the new LibSVM 2.91-1 - move your changes on top of the new version Andrea Vedaldi and Brian Fulkerson
  • 9. Tracking LibSVM 73 • Track libsvm-mat-2.89-3 with Git # download and unpack LibSVM 2.89-3 unzip libsvm-mat-2.89-3.zip # initalize repository master mkdir libsvm-mat 2.89-3 cd libsvm-mat cp -r ../libsvm-mat-2.89-3 . The libsvm-mat-2.89-3 git init source code git add * git commit -m "2.89-3" Andrea Vedaldi and Brian Fulkerson
  • 10. Tracking LibSVM: customize 74 • We make two changes: - adds support for additional PD kernels - adds host detection to the Makefile cd libsvm git branch 2.89-3-mods git checkout 2.89-3-mods # edit kernel code Makefile: adds ... git commit -a -m "adds support for ...” # edit Makefile adds support ... git commit -a -m "Makefile: adds ...” 2.89-3-mods 2.89-3 master Andrea Vedaldi and Brian Fulkerson
  • 11. Tracking LibSVM: upstream update 75 • 2.91-1 is out! Grab it. # download and unpack LibSVM 2.91-1 unzip libsvm-mat-2.91-1.zip # rewind cd libsvm-mat git checkout master 2.91-1 # create commit 2.89-3-mods cp -r ../libsvm-mat-2.91-1/* . Makefile: adds ... git add * git commit -m "2.91-1" adds support ... 2.89-3 master Andrea Vedaldi and Brian Fulkerson
  • 12. Tracking LibSVM: rebase your mods 76 • Apply your changes to the new LibSVM # checkout branch with your mods cd libsvm-mat git branch 2.91-3-mods 2.89-3-mods git rebase master 2.91-1-mods 2.91-1 master 2.91-1-mods 2.89-3-mods 2.91-1-mods Makefile: adds ... adds support ... 2.89-3 Andrea Vedaldi and Brian Fulkerson
  • 13. Contributing to VLFeat 77 • We handle git://github.com/vlfeat/vlfeat.git git clone collaboration using github.com: • For minor changesorigin git-format-patch • For major changes and additions - http://help.github.com/forking/ Andrea Vedaldi and Brian Fulkerson