4840-1054: Media Computing in Practice(Summer 2022)

Week 2: April 13, 2022
Yusuke Matsui
1Schedule
Week

DateContent3

April 20, 2022

SeminarPresenter吴 宇涵, 近藤 佑亮, 陳 星星, 荘 昊昱,4April 27, 2022

Seminar

武縄 瑞基, 林 洸希, 朱 国豪, 郑 书晗,

5May 11, 2022

Seminar

塩田 悠真, 楊 博銘, GOSWAMI Nabarun, アヌバワ アヌバワ

6May 18, 2022

Seminar

ユンセィ セィリン, 尤 書恒, YANG Chengkai, 水上 瑠夏,

7

May 25, 2022

SeminarBAYASGALAN Amartuvshin, 本橋 優俊, LUO Erxiang,

8

June 8, 2022

Seminar曹 永鵬, 佐藤 賢志郎, 舘野 将寿

9June 15, 2022

Coding day🙌10June 22, 2022

Seminar for PR

Presenters of Week 3 and 4

11June 29, 2022

Seminar for PR

Presenters of Week 5 and 6

12

July 6, 2022

Seminar for PR

Presenters of Week 7 and 8

13

July 13, 2022

Invited talk

➢ I’ll post this on the web➢ Let me know if you prefer to put your GitHub account name instead of your real name.
➢ If you forgot to submit the survey and don’t see your name above, please let me know now. 2

In summary: (1) when you present➢ By 23:59 of the day before your presentation,✓ Let me know the title of the paper✓ Let me know the name of the repo (I will create one foryou under https://github.com/media-comp )✓ Push your code to the repo
✓ Submit your slides (pdf) to me➢ You can reach me via Slack
if you are a student of IST ICE➢ If not, e-mail me matsui@hal.t.u-tokyo.ac.jp
or DM me via twitter @utokyo_bunny3

In summary: (1) when you present➢ Presentation time:✓ 20 min talk + 5 min Q&A4

In summary: (2) after your presentation➢ If you receive a PR, review and merge/reject it.

5In summary: (3) when you’re not a presenter➢ Listen to the presentation➢ After the presentation, do the following if you like the paper✓ Run the code
✓ Send PRs: Please submit at least three Pull Requests todifferent repositories

6In summary: (4) presentation for PR➢ Explain the PRs you have created and the PRs you havereviewed➢ By 23:59 of the day before your presentation,✓ Submit your slides (pdf) to me➢ 10 min talk + 1 min Q&A7

➢ What paper should you choose?
➢ Fork, pull requests, review, and merge➢ GitHub actions

8➢ What paper should you choose?
➢ Fork, pull requests, review, and merge➢ GitHub actions

9

What paper should you choose?
➢ Type 1: Recent solid paper✓ E.g., X. Chen and K. He, “Exploring Simple Siamese
Representation Learning“, CVPR 2021, Best paper
Honorable Mentions✓ “Best paper candidates” might be a good choice if you
cannot come up with papers at all.
✓ The SOTA scores itself is not very important. The
contribution (impact) to the community is important.
✓ After reading the paper, what new insights did we gain?

10What paper should you choose?
➢ Type 1: Recent solid paper✓ You can find the official repository. Please cite it in yourrepository/presentation.
✓ Try to implement from scratch by yourself, with:
 Careful comments
 Decide the level of abstraction by yourself
 Better code base, possibly with more functionalities
 Cool: implementation by different language
 Cool: implementation w/ different framework (e.g., fromPyTorch to JAX) Cool: implementation w/o framework
11What paper should you choose?
➢ Type 2: Classic paper with benchmark✓ E.g., C. Tomasi and R. Manduchi, “Bilateral Filtering for Grayand Color Images”, ICCV 1998
✓ You can find several good implementation (e.g., OpenCVand MATLAB)✓ Try to implement from scratch by yourself and evaluate theruntime
 v.s. OpenCV, MATLAB Your code: naïve python, Numba-optimized python,
SIMD-optimized c++, Julia, …
 with strange datasets?
12➢ What paper should you choose?
➢ Fork, pull requests, review, and merge➢ GitHub actions

13Fork, pull requests, review, and merge

QYes

Probably yes

Probably noNo

Have you ever created a Pull Request?

102

5

5

Have you ever reviewed a Pull Request?

61

87

14

① Forkhttps://github.com/hoge528/simple_calc.git.
├── main.c└── README.md② Update the forked repo
https://github.com/hoge528/simple_calc.git.
├── main.c└── README.md➢ taro123 Forks➢ Copy hoge528’s repo on
taro123’s GitHub
https://github.com/taro123/simple_calc.git.
├── main.c└── README.md③ Update the original repo by Pull Requet
https://github.com/hoge528/simple_calc.git.
├── main.c├── delete.c└── README.md➢ Pull request➢ “Please merge my code”
https://github.com/taro123/simple_calc.git.
├── main.c├── delete.c└── README.md

Pull

https://github.com/taro123/simple_calc.git.
├── main.c├── delete.c└── README.md

Push
taro123’s PC

taro123’s PC.
├── main.c├── delete.c└── README.md.
├── main.c├── delete.c└── README.md

Fork, pull requests, review, and merge➢ Let’s try!
1. Student X creates a repo
2. Student Y forks it andcreates a PR
3. X reviews it and asks Y toupdate it
4. Y updates it
5. X merges it
6. X and Y takes turnXY吴 宇涵

近藤 佑亮

陳 星星荘 昊昱

武縄 瑞基

林 洸希

朱 国豪

郑 书晗塩田 悠真

楊 博銘GOSWAMI Nabarun

アヌバワ アヌバワ

ユンセィ セィリン

尤 書恒

YANG Chengkai

水上 瑠夏

BAYASGALAN Amartuvshin

本橋 優俊

LUO Erxiang

曹 永鵬

佐藤 賢志郎

舘野 将寿16➢ What paper should you choose?
➢ Fork, pull requests, review, and merge➢ GitHub actions

17

GitHub Actions

QYes

Probably yes

Probably noNo

Do you know how to use GitHub actions?

24610➢ See the official tutorial

18

GitHub Actions: simple code.github/workflows/simple.yml
name: simple try
on: [push]jobs:
build:
runs-on: ubuntu-latest
steps:- uses: actions/checkout@v3- name: Run my funny commands
run: |pwdls
echo abcdefg
uname -a19

GitHub Actions: several OSs.github/workflows/os.yml
name: several OSs
on: [push]jobs:
build:
runs-on: ${{ matrix.os }}strategy:matrix:os: [macos-latest, ubuntu-latest, windows-latest]
steps:- uses: actions/checkout@v3- name: Run my funny commands
run: |
pwd
lsecho abcdefg
uname -a20

GitHub Actions: python.github/workflows/python.yml
name: simple python
on: [push]jobs:
build:
runs-on: ubuntu-latest
steps:- uses: actions/checkout@v3- uses: actions/setup-python@v3- name: Run some python
run: |
python -c "print(3+2)"

21

Next week➢ Presentation by 吴 宇涵, 近藤 佑亮, 陳 星星, 荘 昊昱,22