├── LICENSE
├── README.md
├── advice.md
├── competitions.md
├── computing.md
├── conferences.md
├── courses.md
├── funding.md
├── junwei_notes
├── note_nv_monitoring.md
├── server_ssh_anywhere.md
├── start_tunnel.py
└── web_app_tech_notes.md
├── managing.md
├── pics
├── conference_timeline.png
├── conference_timeline_cv_ai.jpg
├── funding_timeline_cv_ai.jpg
└── my_computing.png
├── research_lists.md
├── social.md
└── webpage.md
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Junwei Liang
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Awesome Lists for Tenure-Track Asst. Professors and PhD students
2 |
3 | [](https://awesome.re) 
4 |
5 | ## Introduction
6 |
7 | As an incoming Tenure-Track Assistant Professor (TTAP) and a recently graduated CS PhD (as of 09/2022), I believe I am in a good position to start collecting useful resources (awesome lists) for TTAPs and PhD students. From my perspective, I hope these lists can contribute to yours, and my success (for TTAP, success is defined as getting a tenured position in six years; for PhD student, success is defined as happily graduated, eventually). These lists include stuff like GPU cost-compute trade-offs, funding resources, etc., which I believe would be important for TTAPs aside from the research we do. I hope I could continue to refine these lists throughout my time as a TTAP, and I truly welcome any contributions from the community. Please submit pull requests if you feel like adding stuff to the lists.
8 |
9 | 作为一个刚准备入职的大学助理教授,以及毕业不久的CS博士,我想趁现在开始收集一些在我视角里对于年轻助理教授以及博士生都有用的资源和链接,包括项目来源、计算资源性价比比较、经验等。希望在后续学术生涯能持续更新这些列表,也欢迎开源社区大家的贡献,我将把所有贡献者在此目录中列出。请原谅我的双语混写。
10 |
11 | Disclaimer: I'm primarily focusing on computer vision and resources in mainland, China. But the content of the lists should be applicable to most CS field. I hope we can expand the scope of these lists in the future. Please pardon my bilingual writings.
12 |
13 |
14 | ## Contents
15 |
16 | 1. Funding / Grant Resources
17 |
18 | In this list I am looking at funding/grant from both the government and companies, as well as fellowships/scholarships available for PhD students.
19 |
20 | 这里列出了国内外教授可申请的政府/公司资金,以及博士生奖学金。
21 |
22 | See [funding.md](./funding.md).
23 |
24 | 2. Social Media / Academic Profiles (for both TTAPs and PhD students)
25 |
26 | We may need some kind of paper filtering as there are too many papers published everyday. Also, it's important to have a platform to promote and discuss one's work other than at top conferences. In this list I aim to collect all kinds of social media sites where we could build our academic profiles.
27 |
28 | 这里会列出一些我认为不错的会推荐研究工作的公众号和自媒体。然后作为学生或者老师,宣传、展示、讨论自己的工作都非常重要。这里列出国内外的社交媒体网站,包括个人可以建立档案、发表文章进行自我宣传的,还有知名自媒体可以投稿的、关注的。
29 |
30 | See [social.md](./social.md).
31 |
32 | 3. Computational Resources
33 |
34 | In this list I have collected and compared major cloud GPU vendors and full machine cost in order to strategize best use of our fund. This should be updated on a year-to-year basis as GPU prices are volatile.
35 |
36 | 这里列出了国内云GPU计算资源的价格以及整机购买的一些对比。
37 |
38 | See [computing.md](./computing.md).
39 |
40 |
41 | 4. Conferences
42 |
43 | In this list, yearly timelines for paper submissions and workshop/tutorial proposals are collected so we could
44 | better plan out our work schedule.
45 |
46 | 这里列出每年各个顶会的时间线,方便做好工作计划。
47 |
48 | See [conferences.md](./conferences.md).
49 |
50 |
51 |
52 | 5. Workshops and Competitions (for both TTAPs and PhD students)
53 |
54 | In this list, I aim to list relevant workshops and competitions (as these would be an efficient way to boost name recognition for the lab and TTAPs, aside from publishing at top conferences) in my field. Feel free to add more areas by submitting a pull request.
55 |
56 | 作为年轻教授,在顶会比赛中取得好成绩是一个能快速提升知名度的一个方法。这里按领域列出相关的比赛。
57 |
58 | See [competitions.md](./competitions.md).
59 |
60 | How to propose and host a workshop? To be added.
61 |
62 | 6. How to Run A Lab / Recruit Candidates
63 |
64 | In this list, I try to gather useful recruitment info from top labs and bits and pieces on how they are managed. Some important questions for young TTAPs include whether and how to have weekly meetings, reports, etc.
65 |
66 | 这里我列出一些可参考的如何招生、如何管理实验室的**别人**的经验。
67 |
68 | See [managing.md](./managing.md).
69 |
70 |
71 | 7. General Advice from Others (for both TTAPs and PhD students)
72 |
73 | This lists useful advice from other senior professors/researchers.
74 |
75 | 其他资深教授、学者的建议。
76 |
77 | See [advice.md](./advice.md).
78 |
79 | 8. Awesome Academic Pages (for both TTAPs and PhD students)
80 |
81 | I believe in openness and transparency. I think an informative academic page is important for both TTAPs and PhD students. A well-organized lab web page could lead to more collaboration. In this list I gather some of the best pages IMO.
82 |
83 | 这里收集一些我个人觉得比较好的学术主页。
84 |
85 | See [webpage.md](./webpage.md).
86 |
87 |
88 | 9. Awesome Courses (for both TTAPs and PhD students)
89 |
90 | An important part of being a professor is teaching. Here I collect a list of famous courses and share some personal thoughts on how they are technically managed.
91 |
92 | 优秀、开放的课程列表。
93 |
94 | See [courses.md](./courses.md).
95 |
96 | 10. Awesome Research Lists (for both TTAPs and PhD students)
97 |
98 | Good awesome lists for specific fields.
99 |
100 | 一些特定领域的paper集合等。
101 |
102 | See [research_lists.md](./research_lists.md).
103 |
104 | 11. Tricks and hacks that I think would be useful.
105 |
106 | + 监视单独GPU机器群的利用率: [How to monitor utilization of multiple GPU nodes](./junwei_notes/note_nv_monitoring.md).
107 |
108 | + 做网站的技术要点: [Technical notes on making websites for personal/projects/courses](https://github.com/JunweiLiang/junweiliang.github.io/blob/master/note.md).
109 |
110 | + 使用SSH隧道: [How to make home machines SSH-able from anywhere](./junwei_notes/server_ssh_anywhere.md).
111 |
112 | + 做Web Demo的技术要点: [How To Make Web-Accessible Demos For Your AI Research/Applications](./junwei_notes/web_app_tech_notes.md).
113 |
--------------------------------------------------------------------------------
/advice.md:
--------------------------------------------------------------------------------
1 | ##General Advice from Others (for both TTAPs and PhD students)
2 |
3 | This lists useful advice from other senior professors/researchers.
4 |
5 | 其他资深教授、学者的建议。
6 |
7 | | By | For | 链接 |
8 | |---------------------|----------------|----------------------------------------------------------------------------|
9 | | Andrej Karpathy | PhD student | [link](https://karpathy.github.io/2016/09/07/phd/) |
10 | | David A Patterson | AP | [link](https://people.eecs.berkeley.edu/~pattrsn/talks/Patterson.html) |
11 | | Michael Ernst | AP and student | [link](https://homes.cs.washington.edu/~mernst/advice/) |
12 | | Colin raffel | AP | [link](https://colinraffel.com/blog/reflecting-on-two-years-of-professorship.html) |
13 | | Marco Tulio Ribeiro | Researcher/AP | [link](https://medium.com/@marcotcr/coming-up-with-research-ideas-3032682e5852) |
14 | | Mingming Cheng | Student | [link](https://mmcheng.net/notice/) |
15 | | Xiangyu Zhang | Student | [link](https://mp.weixin.qq.com/s?__biz=Mzg5NTc2MTA0NQ==&mid=2247487252&idx=1&sn=fd73ce6c0f0a7726eb9913fa9c7a41c0&chksm=c00a20eef77da9f8f72b020896b73238b817a329c6115bec3f942a3a4ff7600097e42af952ff&mpshare=1&scene=1&srcid=0901smoTXRMt3ddCcY0XwGNK&sharer_sharetime=1662005458842&sharer_shareid=c5b6fadc801a2c4ecd6ca0096153aea4&version=4.0.9.99149&platform=mac#rd) |
16 | |Yi Ma, Jirong Wen, Yu Wang| AP/PhD student/Researchers|[如何走好在学术界的发展之路?如何选择科研方向并做出有价值的研究?](https://mp.weixin.qq.com/s/wSbITWQqo_fusAdRGdZxvQ)|
17 | |CVer|PhD student|[如何在4-6个月产出一篇论文?](https://mp.weixin.qq.com/s/cJvVyuGDn_rGpNqC7btbLQ)|
18 | |Henny Admoni| AP|["Working with me/Notes for perspective students"](http://hennyadmoni.com/working-with-me/)|
19 | |Jingdong Wang, Lingxi Xie|Researchers|[讲座回顾 | PaSS第五期-王井东博士,谢凌曦博士-CV顶会背后那些事](https://mp.weixin.qq.com/s/S0zvkB97zFreuYqaaQrQyw)|
20 |
--------------------------------------------------------------------------------
/competitions.md:
--------------------------------------------------------------------------------
1 | ## Workshops and Competitions (for both TTAPs and PhD students)
2 |
3 | In this list, I aim to list relevant workshops and competitions (as these would be an efficient way to boost name recognition for the lab and TTAPs, aside from publishing at top conferences) in my field. Feel free to add more areas by submitting a pull request.
4 |
5 | 作为年轻教授,在顶会比赛中取得好成绩是一个能快速提升知名度的一个方法。这里按领域列出相关的比赛。
6 |
7 |
8 | ### Contents
9 | 1. List of relevant competitions (学术比赛); [link](#competitions)
10 |
11 |
12 | ## Competitions
13 |
14 | | Direction | Task | Links | Conference | Start Date | DDL | Meeting Date |
15 | |----------------|-----------------------------------------------------------------------|----------------------------------------------------------------------------|------------------|------------------------------------------|----------|----------|
16 | | RL, Energy | Battery charging strategy, 学习电池放电充电策略 | [link](https://www.aicrowd.com/challenges/neurips-2022-citylearn-challenge) | NIPS | 07/08 | 10/31 | December |
17 | | CV | AI City Challenge / object detection tracking reID action recognition | [link](https://www.aicitychallenge.org/) | CVPR | March | April | |
18 | | CV | Ego4D / 第一人称视频,识别,预测 | [link](https://ego4d-data.org/docs/challenge/) | CVPR/ECCV | | | |
19 | | CV | Soccernet, 追踪,行为识别 | [link](https://www.soccer-net.org/challenges/2022) | CVPR | March | June | |
20 | | CV | activitynet, 行为识别行为检测, | [link](http://activity-net.org/) | CVPR | March | June | |
21 | | CV | Long-form video recognition, 长时视频识别 | [link](https://sites.google.com/view/loveucvpr22) | CVPR | April | June | |
22 | | CV Medical | Image Segmentation | [link](https://www.kaggle.com/competitions/uw-madison-gi-tract-image-segmentation) | kaggle | | | |
23 | | | 极市平台 (微信号) | [link](https://www.cvmart.net/list/CCBR2022) | | 有国内大学老师当评审嘉宾, 可以让学生参加 | | |
24 | | | 粤港澳大湾区(黄埔)国际算法算例大赛 | [link](https://iacc.pazhoulab-huangpu.com/) | | | | |
25 | | CV | Waymo Open Challenge, Trajectory prediction, 3D object detection | [link](https://waymo.com/open/challenges/) | CVPR | | May | |
26 | | CV | TRECVID ActEV, activity detection in extended videos | [link](https://actev.nist.gov/) | TRECVID Workshop | | October | November |
27 | | CV | GigaVision, detection/tracking/trajectory prediction | [link](https://gigavision.cn/?nav=home&type=nav) | CVPR/MM/ICCV | | | |
28 | | CV Medical | Medical image segmentation and detection | [link](https://grand-challenge.org/challenges/) | MICCAI etc. | | | |
29 | | Data Mining CV NLP | All Task,全球比赛信息聚合 | [link](https://comphub.notion.site/comphub/CompHub-c353e310c8f84846ace87a13221637e8) | | | | |
30 | | Data Mining CV NLP | All Task,国内知名平台比赛信息聚合 | [link](https://coggle.club/) | | | | |
31 |
--------------------------------------------------------------------------------
/computing.md:
--------------------------------------------------------------------------------
1 | ## GPU Comparisons
2 |
3 | ### Contents
4 | 1. My lab's computing setup; [link](#computing-setup-of-my-lab)
5 | 2. Cloud GPU and whole machine price comparison and notes (云GPU与整机价格对比); [link](#price-comparison)
6 | 3. Free compute available from companies(教授可申请的免费计算资源); [link](#free-stuff)
7 | 4. Useful learning material on GPUs and setting up your clusters(如何搭建计算集群); [link](#learning-stuff)
8 |
9 | ## Computing Setup of My Lab
10 |
11 | In my lab, the [Precognition Lab](http://precognition.team/), using the start-up funds provided by the university, I have built 9 stand-alone machines equipped with a total of 32 RTX 3090/4090 GPUs (including 4-GPU and some 2-GPU machines). Additionally, I have established a cluster with 3 compute nodes, comprising a total of 24 RTX A6000 GPUs, and a 100TB NAS.
12 |
13 | The rationale behind this hybrid setup is twofold: the stand-alone machines cost only 40% of what the cluster does, and they can be acquired quickly without necessitating additional machine room space.
14 |
15 | As for the cluster, I've found that a 100 GB Ethernet suffices for the computing network, eliminating the need to invest in an Infiniband switch, which can cost two to three times more. With 3 nodes on this network, I can essentially achieve linear scaling with multi-node training (6 hours for 1-node training and 2 hours for 3-node training, etc.).
16 |
17 |
18 |
19 | ## Price Comparison
20 |
21 | Vendors in mainland, China (Updated 07/2022):
22 |
23 | | | Machine | Duration | Price (RMB) | Note |
24 | |----------|---------------|----------------|----------------|------------------------------------------------|
25 | | 阿里 | 8xV100 (16GB) | 一年 | 80万 | 只有CentOS |
26 | | | | 一个月 | 7.1万 | |
27 | | | | 一小时 | 248.42 | |
28 | | 华为云 | 8xV100 (32GB) | 一年 | 63万 | |
29 | | | | 一个月 | 6.3万 | |
30 | | | | 一小时 | 131.5 | |
31 | | 腾讯云 | 8xV100 (32GB) | 一年 | 45.8万(8.3折) | [link](https://cloud.tencent.com/document/product/560/8025) |
32 | | | | 一个月 | 4.6万 | |
33 | | | | 一小时 (TIONE) | 147 | |
34 | | | 8xA100 (40GB) | 一年 | 113.5万(8.3折) | |
35 | | | | 一个月 | 11.4万 | |
36 | | 百度云 | 8xA100 (40GB) | 一年 | 99.7万(8.3折) | [link](https://cloud.baidu.com/product-price/gpu.html) |
37 | | | | 一个月 | 10万 | |
38 | | | 8xV100 (32GB) | 一年 | 59.3万 | |
39 | | | | 一个月 | 5.9万 | |
40 | | | | 一小时 | 124.14 | |
41 | | 矩池云 | 8xV100 (16GB) | 一小时 | 48 | |
42 | | 智星云 | 8x3090 (24GB) | 一个月 | 2.1万 | |
43 | | | | 一小时 | 36 | |
44 | | | 8xA100 (40GB) | 一个月 | 4.5万 | |
45 | | | | 一小时 | 76 | |
46 | | | 8xV100 (32GB) | 一个月 | 2.8万 | |
47 | | | | 一小时 | 48 | |
48 | | 极链AI云 | | | | |
49 | | 恒源云 | | | | |
50 | | AutoDL | | | | [link](https://www.autodl.com/) , Most Popular |
51 | | OpenBayes | | | | [link](https://openbayes.com/) |
52 |
53 |
54 | 整机购买 (08/2022咨询)
55 |
56 | | | 机器 | |
57 | |---------------|--------|------------|
58 | | dbcloud深脑云 (淘宝) | 8x3090 | 20万左右起 |
59 | |程明明教授的经验|8xV100| [link](https://mmcheng.net/dlm/)|
60 |
61 | **Junwei: 近期(09/2022)GPU价格大跌,明显是整机购买比较划算,而3090的算力相当于V100,是性价比最高的卡,所以我认为多个8x3090整机+网络硬盘NAS+kubeflow是最划算、scalable的设置,可以参考一下[后面](#learning-stuff)如何自建计算集群。**
62 |
63 | Vendors in NA (Updated 07/2022):
64 |
65 | | | Machine | Duration | Price |
66 | |--------------------------|------------------|-----------------|-------------|
67 | | Google Cloud asia-Taiwan | 8xV100 (32GB) | 1 month | $12,837.30 |
68 | | | | 1 hour | $17 |
69 | | Google Cloud asia-Tokyo | 8xA100 (40GB) | 1 month | $18,216.98 |
70 | | vast.ai NA | 8xV100 (16GB) | 1 hour | $2.80 |
71 | | | 8xA100 (40GB) | 1 hour | $8.80 |
72 | | | 8xA6000 (48GB) | 1 hour | $4.40 |
73 | | | 10x1080Ti (11GB) | 1 hour | $2 |
74 | | | 8xA5000 (24GB) | 1 hour | $2.40 |
75 | | | 4x3090 (24GB) | 1 hour | $1.20 |
76 | | lambda NA | 8xV100 (16GB) | 1 hour | $4.40 |
77 | | | 8xV100 (16GB) | 1 hour (>3 months) | $3.20 |
78 | | | 8xA100 (40GB) | 1 hour (>3 months) | $8.00 |
79 | | | 1xA100 (40GB) | 1 hour | $1.10 [link](https://www.youtube.com/watch?v=tWVq4GxSCps) |
80 |
81 | ## Free Stuff
82 |
83 |
84 | | | note | link |
85 | |--------------|------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
86 | | 幻方AI | 万卡算力,免费申请,酣畅科研的夏天 | [link](https://mp.weixin.qq.com/s?__biz=Mzk0MjE3MzQ5Mg==&mid=2247484702&idx=1&sn=5157e2c6564c41171ad7973f861e3a12&chksm=c2c67945f5b1f053a997f8213dee6284e9c1ecedaf13fd4f6165a6aaea77eee92ed3320da163&mpshare=1&scene=1&srcid=0715juU6U4wioPfFdA6loJQX&sharer_sharetime=1660101801014&sharer_shareid=c5b6fadc801a2c4ecd6ca0096153aea4&version=4.0.9.99149&platform=mac#rd) |
87 | | NVIDIA | 有一张免费卡的资助项目 | |
88 | | AWS | 在CMU上课的时候,每门课教授都可以给每个学生申请100刀左右的cloud credit | |
89 | | Google Cloud | 类似AWS | |
90 |
91 | ## Learning Stuff
92 |
93 | | note | link |
94 | |--------------------------|-----------------------------------------------------|
95 | | GPU guide from Lambda | [link](https://lambdalabs.com/blog/best-gpu-2022-sofar/) |
96 | | understanding GPU and DL | [link](https://horace.io/brrr_intro.html) |
97 | | 腾讯TEG星辰和机智团队 | [link](https://cloud.tencent.com/developer/article/1500001) |
98 | | MPIJob | [link](https://github.com/kubeflow/mpi-operator) |
99 | | 机器学习平台 | [link](https://aijishu.com/a/1060000000136087) |
100 | | 集群硬盘,ceph cluster | [link](https://www.45drives.com/products/cluster/) |
101 | | A discussion on machine price on Twitter (for NA) | [link](https://twitter.com/WenhuChen/status/1565083349911326720) |
102 | | A discussion on 1xA100 vs 6x3090 知乎 | [link](https://www.zhihu.com/question/551536415/answer/2657911978) |
103 | |程明明教授的GPU集群经验|[link](https://mmcheng.net/servers/)|
104 | |Good cluster building guide from Lambda| [link](https://www.youtube.com/watch?v=rfu5FwncZ6s)|
105 | |How to decide on cloud GPUs vs. on-perm vs. hybrid| [link](https://www.youtube.com/watch?v=3EnIW0EZkr4)|
106 |
107 |
--------------------------------------------------------------------------------
/conferences.md:
--------------------------------------------------------------------------------
1 | ## Yearly Timeline for Conferences
2 |
3 | ### Contents
4 | 1. Paper submission; [Link](#paper-submission-schedule)
5 | 2. Workshop/Tutorial proposal; [Link](#workshop-and-tutorial-proposal-schedule)
6 | 3. Top Conference and Top Journal exchanges; [Link](#top-conference-and-top-journal-exchanges)
7 | 4. Year-round EI Conference; [Link](#year-round-ei-conference)
8 | 5. AI Conference Deadlines; [Link](#ai-conference-deadlines)
9 | 6. CCF Conference Deadlines; [Link](#ccf-conference-deadlines)
10 |
11 |
12 | ## Paper Submission Schedule
13 |
14 | Currently this is for computer vision and AI in general.
15 |
16 |
17 |
18 | ## Workshop and Tutorial Proposal Schedule
19 |
20 | To be added.
21 |
22 | ## Top Conference and Top Journal exchanges
23 |
24 | Some useful conferences and journal exchanges (With journal and conference information):微信小程序搜索【轻松参会】
25 |
26 | ## Year-round EI Conference
27 |
28 | Link: [https://www.ais.cn/attendees](https://www.ais.cn/attendees)
29 |
30 | ## AI Conference Deadlines
31 |
32 | Link: [https://aideadlin.es/](https://aideadlin.es/)
33 |
34 | ## CCF Conference Deadlines
35 |
36 | Link: [https://ccfddl.github.io/](https://ccfddl.github.io/)
37 |
--------------------------------------------------------------------------------
/courses.md:
--------------------------------------------------------------------------------
1 |
2 | ## Awesome Courses
3 |
4 | An important part of being a professor is teaching. Here I collect a list of famous courses and share some personal thoughts on how they are technically managed.
5 |
6 | 优秀、开放的课程列表。
7 |
8 |
9 |
10 | | Course | Lecturer | Org | Link Type | Link |
11 | |---------------------------------------------------|-----------------|----------|------------------------|-----------------------------------------------------------------------------------|
12 | | python autograd/deep learning | | - | Code | [link](https://github.com/geohot/tinygrad) |
13 | | python autograd/deep learning | Andrej Karpathy | - | Code | [link](https://github.com/karpathy/micrograd) |
14 | | | | | Lecture Video | [link](https://www.youtube.com/watch?v=VMj-3S1tku0) |
15 | | python autograd/deep learning (11785/11685/11485) | Bhiksha Raj | CMU | Code | [link](https://github.com/CMU-IDeeL/new_grad) |
16 | | | | | Course page | [link](http://deeplearning.cs.cmu.edu/S21/index.html) |
17 | | computer vision general (cs231n) | | Stanford | Course page | [link](http://cs231n.stanford.edu/) |
18 | | | | | Course notes page code | [link](https://github.com/cs231n) |
19 | | | | | nerf | [link](https://github.com/cs231n/cs231n.github.io/blob/master/nerf.md) |
20 | | | | | nerf | [link](https://github.com/cs231n/cs231n.github.io/blob/master/CS_231n__NeRF_write_up.pdf) |
21 | | computer vision advanced (cs231a) | | Stanford | Course page | [link](https://web.stanford.edu/class/cs231a/) |
22 | | Deep Learning Systems | Tianqi Chen | CMU | Course page | [link](https://dlsyscourse.org/) |
23 | | Story behind ResNet/ShuffleNet | Xiangyu Zhang | By [GAP Lab](https://gaplab.cuhk.edu.cn/) | Lecture video | [link](https://mp.weixin.qq.com/s?__biz=Mzg5NTc2MTA0NQ==&mid=2247487252&idx=1&sn=fd73ce6c0f0a7726eb9913fa9c7a41c0&chksm=c00a20eef77da9f8f72b020896b73238b817a329c6115bec3f942a3a4ff7600097e42af952ff&mpshare=1&scene=1&srcid=0901smoTXRMt3ddCcY0XwGNK&sharer_sharetime=1662005458842&sharer_shareid=c5b6fadc801a2c4ecd6ca0096153aea4&version=4.0.9.99149&platform=mac#rd) |
24 | | Large-Scale Multimedia Analysis (11-775) |Alex Hauptmann |CMU| Course page |[link](https://github.com/11775website/11775website.github.io)|
25 | | Large-Scale Multimedia Analysis (11-775) |Alex Hauptmann |CMU| Homework Code|[link](https://github.com/11775website/11775-hws/tree/master/spring2021/hw1#submission-to-kaggle)|
26 | | Intro to Transformers | Lucas Beyer | Google | slides | [link](https://docs.google.com/presentation/d/1ZXFIhYczos679r70Yu8vV9uO6B1J0ztzeDxbnBxD1S0/edit)|
27 | |Deep Learning - NYU|Yann LeCun|NYU|Course page|[link](https://atcold.github.io/pytorch-Deep-Learning/)|
28 | |Dive into Deep Learning|Mu Li|AWS|Course page|[link](https://space.bilibili.com/1567748478/channel/seriesdetail?sid=358497)|
29 | ||||Book|[link](https://zh.d2l.ai/)|
30 | ||||Paper|[link](https://space.bilibili.com/1567748478/channel/collectiondetail?sid=32744)|
31 | ||||Note|[link](https://github.com/MLNLP-World/DeepLearning-MuLi-Notes)|
32 |
33 | ### Technicalities
34 |
35 | Junwei: If you have a large course and want to take attendance record of students, you can set up after-class quizzes with this simple, mobile-friendly [webapp](https://github.com/JunweiLiang/Lecture_Attendance_Management)! (which is previously used by [CMU LTI colloquium course](https://lti.cs.cmu.edu/lti-colloquium))
36 |
37 | Junwei: I think cs231n has the cleanest model on how to make a good open-source course. They use a github repo to store all their course notes so that TAs and
38 | even students can contribute to the notes and collaborate easily. The notes are in markdown format to ensure fast and easy change and Github will generate
39 | corresponding html automatically (using jekyll). The downside is that you could not test them locally without compiling (each markdown file may include jekyll-specific code like layout imports).
40 | So for not-so-rapidly-changing websites like personal page I would opt for static htmls which are easy to debug/refine locally.
41 | But for course notes since people don't care how nice they looks so markdown is the way to go.
42 |
43 | Junwei: When I was setting up homeworks for CMU 11-775 course, we found that having a leaderboard can motivate students to try out different ideas. And Kaggle is a free website where this can be done easily. Here is an example of [our homework](https://github.com/11775website/11775-hws/tree/master/spring2021/hw1) and [kaggle page](https://www.kaggle.com/competitions/11775-hw1/leaderboard).
44 |
45 |
46 |
--------------------------------------------------------------------------------
/funding.md:
--------------------------------------------------------------------------------
1 | ## Funding / Grant for TTAPs and Fellowships for PhD Students
2 |
3 | ### Contents
4 | 1. Research Grant; [Link](#research-grant)
5 | 2. PhD Fellowships; [Link](#phd-fellowships)
6 |
7 |
8 | ## Research Grant
9 | | 名称 | 链接 | 可申请地区范围 | Note |
10 | |-------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|------------------------------------------------------------|
11 | | 国自然青年基金 | | 国内 | 每年3月份提交 |
12 | | 国自然面上基金 | | 国内 | |
13 | | Google Research Scholar Program | [link](https://research.google/outreach/research-scholar-program/) | The world | DDL 12.1, Decision by April (within PhD + 7 years, max submission 3 times) / $60k gift |
14 | | 幻方AI 闲置算力资源申请 | [link](https://www.high-flyer.cn/research/) | 国内 | |
15 | | NSF CAREER | [link](https://beta.nsf.gov/funding/opportunities/faculty-early-career-development-program-career) | US org only | |
16 | | NVIDIA应用 | [link](https://www.nvidia.com/en-us/industries/higher-education-research/applied-research-program/) | The world? | |
17 | | NVIDIA硬件资助项目 | [link](https://mynvidia.force.com/HardwareGrant/s/Application) | The world? | |
18 | | Qualcomm | [link](https://www.qualcomm.com/research/university-relations) | Some eligible universities | |
19 | | Microsoft | [link](https://www.microsoft.com/en-us/research/academic-program/microsoft-productivity-research/) | US | |
20 | | 中国科协青年人才托举工程 | [link](https://www.cast.org.cn/art/2022/6/28/art_457_190436.html) | 国内 | 2022年的申请要求32岁以下 |
21 | |广州科协人才托举|[link](https://mp.weixin.qq.com/s/Aol7WcYDfuoq1I8c2Am-Ag)|广州市高校推荐|35岁以下, 10万经费|
22 | |CCF青年人才托举工程|[link](https://mp.weixin.qq.com/s/eHsDN7kmIQ9TCH1ISC5zOg)|国内|32岁以下,需要推荐人|
23 | | 微软亚洲研究院铸星计划 | [link](https://www.msra.cn/zh-cn/connections/academic-programs/startrack) | 国内 | 5月申请,8月截止; 博士毕业5年内/需全职3-6个月访问北京微软亚研究院/需要院系单位推荐 |
24 | | CCF-百度松果基金 | [link](https://www.ccf.org.cn/Focus/2022-04-29/761542.shtml) | 全球 | 要求40岁以下 |
25 | | CCF-阿里巴巴创新研究计划 | [link](https://www.ccf.org.cn/Focus/2022-05-11/761872.shtml) | 国内 | 2022年有设定好的13个方向的项目基金 |
26 | | 国家重点研发计划资助项目: National Key R&D Program of China | [link](https://chinainnovationfunding.eu/zh/national-key-rd-programmes/) | 国内 | |
27 | | Meta研究funding | [link](https://research.facebook.com/research-awards/) | The world | various call for proposals/~$100k gift |
28 | | 腾讯高校合作项目 | [link](https://ur.tencent.com/) | 国内 | |
29 | | 达摩院青橙奖 | [link](https://damo.alibaba.com/damo-academy-young-fellow?lang=zh) | 国内 | 100万人民币, 35岁以下, |
30 | | CCF-犀牛鸟基金(腾讯) | [link](https://ur.tencent.com/article/1429) | 国内 | 2022年要求1986年后出生, 博士毕业5年内 |
31 | | CCF-华为胡杨林基金 | [link](https://mp.weixin.qq.com/s?__biz=MjM5MTY5ODE4OQ==&mid=2651526923&idx=1&sn=43caeab6b55ba40ba736d2a72e0ca11c&chksm=bd4e2b698a39a27f349c6ac93754a8bcad97bdb245a5cfd7ae462091900ac1a67d6716afce0e&mpshare=1&scene=1&srcid=0801kPEJS2U8sWH1NL0nVt0Z&sharer_sharetime=1659346144614&sharer_shareid=c5b6fadc801a2c4ecd6ca0096153aea4&version=4.0.9.99149&platform=mac#rd) [软件工程](https://www.ccf.org.cn/Collaboration/Enterprise_Fund/News/hw/2022-04-29/761525.shtml) | 国内 | 有多个大方向和子方向, 好像没有年龄限制 |
32 | | CCF科技成果奖 | [link](https://mp.weixin.qq.com/s?__biz=MjM5MTY5ODE4OQ==&mid=2651529471&idx=1&sn=06a1308372d72faf029e1dd4ff0c08d9&chksm=bd4e1c9d8a39958bff0122bf2c1607deac93234524bceacd7f13e0c5d83702279775e23d0126&mpshare=1&scene=1&srcid=0818Mz94BVedMMRCBVOpfBtj&sharer_sharetime=1660813802956&sharer_shareid=c5b6fadc801a2c4ecd6ca0096153aea4&version=4.0.9.99149&platform=mac#rd) | 国内 | 杰青level的吧 |
33 | | Google GCP eduation | [link](https://edu.google.com/programs/express-interest/?modal_active=none) | 教学credits | |
34 | | AWS class credits | [link](https://aws.amazon.com/cn/blogs/aws/aws-educate-credits-training-content-and-collaboration-for-students-educators/) | 教学credits | |
35 | | CCF优秀博士发展计划 | [link](https://mp.weixin.qq.com/s?__biz=MjM5MTY5ODE4OQ==&mid=2651530270&idx=1&sn=571ada3d01272fd2a3f237180b14dcdd&chksm=bd4e187c8a39916a4ad099ae90edbb08f3d1af539df8f5f60c2e7060ce474edd96aa05eb7d80&mpshare=1&scene=1&srcid=0830greLZB2rSRlGaKMP1w7u&sharer_sharetime=1661850938788&sharer_shareid=c5b6fadc801a2c4ecd6ca0096153aea4&version=4.0.9.99149&platform=mac#rd) | 国内 | |
36 | | TR35, MIT 35 under 35 Asia | [link](http://tr35.mittrasia.com/#criteria) | 亚洲地区 | 这个title很厉害,没有奖金 |
37 | | AAAI New Faculty Highlight | [link](https://aaai.org/Conferences/AAAI-21/aaai-new-faculty-highlights-program/) | The world | 只是个 title |
38 | | Sloan Research Fellowship | [link](https://sloan.org/fellowships) | US + Canada | $75k, for tenure-track AP, need department head's nomination |
39 | | Sony Faculty Research Award|[link](https://www.sony.com/en/SonyInfo/research-award-program)| US + 19 countries, no China|$100k/$150k, yearly application DDL: Sep 15|
40 | | Amazon Research Award (ARA) |[link](https://www.amazon.science/research-awards/call-for-proposals)|The world| Each season may have a CFP. Budget supports one or two grad students for a year.|
41 | |腾讯AI Lab犀牛鸟专项研究计划|[link](https://m.withzz.com/project?id=1313)|国内/海外|20-40万元/4-6万美元|
42 | |国家特支计划/万人计划|[link](https://baike.baidu.com/item/%E5%9B%BD%E5%AE%B6%E9%AB%98%E5%B1%82%E6%AC%A1%E4%BA%BA%E6%89%8D%E7%89%B9%E6%AE%8A%E6%94%AF%E6%8C%81%E8%AE%A1%E5%88%92/3584383)|国内|每年2月份通过学校提交|
43 |
44 | Timeline:
45 |
46 |
47 |
48 |
49 | ## PhD Fellowships
50 |
51 | | name | note | link |
52 | |-----------------------------------------------------|------|------|
53 | | Google PhD Fellowship | 多个方向不定人数,全世界可申请 | [link](https://research.google/outreach/phd-fellowship/) |
54 | | Meta | 全世界可申请 | [link](https://research.facebook.com/fellowship/) |
55 | | Nvidia | 全世界可申请;二年级博士生以上 (international students are eligible; must be at least after first-year) | [link](https://www.nvidia.com/en-us/research/graduate-fellowships/) |
56 | | Microsoft | 全世界可申请 | [link](https://www.microsoft.com/en-us/research/academic-program/phd-fellowship/) |
57 | | 百度奖学金 | | [link](http://scholarship.baidu.com/) |
58 | | Qualcomm PhD Fellowship | No China! | [link](https://www.qualcomm.com/research/university-relations/innovation-fellowship) |
59 | | Microsoft Research Asia Fellowship | 微软学者奖学金 | [link](https://www.msra.cn/zh-cn/connections/academic-programs/fellows) |
60 | | "Star of Tomorrow" Award at Microsoft Research Asia | | |
61 | | 郑格如基金 | | |
62 | | 字节跳动奖学金 | 中国大陆高校 | [link](https://ur.bytedance.com/scholarship) |
63 | | MIT EECS Rising Stars | | |
64 | | A list by Deborah | | [link](https://github.com/dhanus/graduate-fellowships) |
65 | | Siebel Scholars | $35k for final year students, from US, China, Japan, etc. | [link](https://www.siebelscholars.com/) |
66 | | AAAI/ACM SIGAI DOCTORAL DISSERTATION AWARD | Just a title (but a prestigious one) | [link](https://aaai.org/Awards/dissertation-award.php)|
67 | | 商汤奖学金 | **本科生**30名,2万RMB|[介绍](https://mp.weixin.qq.com/s?__biz=MzU2Nzg2NDc4Ng==&mid=2247535807&idx=1&sn=758bc45ea586a58def682ac3548ad0f0&chksm=fc94b002cbe3391455fd241fc0d3f068e7509114e02263f886b797774d396367fb35fedcfec5&scene=21#wechat_redirect) [主页](https://www.sensetime.com/cn/scholarship)|
68 | | Apple PhD Fellowship||[link](https://machinelearning.apple.com/updates/introducing-apple-scholars-aiml)|
69 |
--------------------------------------------------------------------------------
/junwei_notes/note_nv_monitoring.md:
--------------------------------------------------------------------------------
1 | # note for monitoring utilization of independent GPU nodes
2 |
3 | 当你的组里有很多独立的机器时,比如我的组有9台单机,一共30张卡(RTX 3090/4090),想知道一段时间里这些机器的GPU利用率(一般商用的集群都会有这样的功能),可以用到下面说的开源工具。
4 |
5 | 1. Use jupyterlab_nvdashboard
6 |
7 | `https://github.com/rapidsai/jupyterlab-nvdashboard`
8 |
9 | Run this on the node you want to monitor
10 | ```
11 | python -m jupyterlab_nvdashboard.server 9988
12 | ```
13 |
14 | Then you can open a html to see the log `http://10.30.8.195:9988/GPU-Resources`
15 | The log is only saved on the web page. No database is used. So you need to keep the web page open.
16 |
17 |
18 | 2. use rntop from run-ai
19 |
20 | `https://github.com/run-ai/rntop`
21 |
22 | This is better for monitoring multiple nodes. 原理:通过 ssh user@IP nvidia-smi 每个节点,然后记录GPU利用率到一个文件。
23 |
24 | Suppose you have a head node. Need to put the head node's id_rsa.pub to all the GPU nodes' authorized_keys.
25 |
26 | Run the following in a screen. The output file will be saved to `/home/junweil/nv_monitoring/rntop.log`
27 | ```
28 | (base) junweil@junwei-home-lab:~/nv_monitoring$ sudo docker run -it --rm -v $HOME/.ssh:/root/.ssh -v $HOME/nv_monitoring:/host runai/rntop --output /host/rntop.log junweil@machine-1-IP junweil@machine-2-IP ...
29 | ```
30 |
31 | Then you can upload the log file to `https://run-ai.github.io/rntop-board/` and see the utilization over time.
32 |
--------------------------------------------------------------------------------
/junwei_notes/server_ssh_anywhere.md:
--------------------------------------------------------------------------------
1 | ## How to make home machines SSH-able from anywhere
2 |
3 | ### Problem
4 |
5 | As DL researchers, we may have one or two GPU servers at home that are used to run our own experiments.
6 | However, unlike machines hosted at universities, home servers may not have public IPs
7 | (even if there is one, you usually get one public IP at your doorstep and things get tricky if you have multiple machines).
8 | This guide provides my solution to solve the aforementioned problem.
9 |
10 | 如果你有GPU电脑在家里,想要能远程访问(一般家庭网络都没有公网IP),这里提供我的经验。
11 |
12 |
13 | + [You have a public IP (via port forwarding)](#with-a-public-ip)
14 | + [No-public-IP home network (via SSH tunnel)](#no-public-ip)
15 |
16 |
17 | ### With a Public IP
18 |
19 | In this scenario, assuming you can get a publicly accessible IP for your home network ISP,
20 | whether it is a dynamic IP or a static one, you can achieve SSH capabilities by simply
21 | setting port forwarding on your modem.
22 | You can check this by directly connecting your Linux machine (SSH-server enabled) to the modem through a wired connection,
23 | and use any website to check your IP, and then try to SSH to that IP.
24 | If successful, then you have a public IP for your home network.
25 | From my experience, Comcast provides static IP in Pittsburgh (they say it is dynamic IP but it never changes).
26 |
27 | To sum up,
28 |
29 | + Step 1, get your public IP and write it down. Or you could use a free DNS service.
30 | Basically, you install a client in your machine to continuously tell the DNS provider your current IP address.
31 | Then you can SSH through the domain name of your choosing. This is essential if you have a dynamic IP.
32 |
33 | + Step 2, set port forwarding through the admin page of your modem (or maybe the router connected to the modem).
34 | I remembered I had a Comcast-compatible modem+wireless router combo and I could
35 | set port forwarding without much pain. Basically you set a random port for each of your machines (at 192.168.1.xxx)
36 | and then you can SSH to your machine from anywhere on earth via `ssh -p port_number your_username@your_domain_or_IP`.
37 |
38 |
39 | ### No Public IP
40 |
41 | This is what I have encountered in China (both with ISPs like 联通 and 移动).
42 | It seems they put their whole customer networks into a giant virtual network so
43 | you cannot access your machines through the reported public IP.
44 | Here we need to use a **middle-man machine** with a public IP.
45 | Basically we are going to set up an "ssh tunnel" between the middle-man machine
46 | and your home machine.
47 | So you could access your home machine directly through one SSH command through the middle-man.
48 |
49 | To sum up,
50 |
51 | + Step 1, get a cloud CPU Linux machine with a public IP. I got a machine with 2 vCPUs & 2GB RAM on Aliyun for a year for only ¥230
52 | (the cost of network traffic is pay-as-used).
53 | Install SSH server on your middle-man/cloud machine and your home machines. Duh.
54 | Put your remote laptop and your home machines' SSH public key on the cloud machine's authorized_keys
55 | (so you won't need to enter two passwords each time you try to connect your home machine with your remote laptop).
56 | Put your cloud machine's SSH public key to your home machines' authorized_keys. **Set your cloud machine's SSH server to allow GatewayPorts by modifying the sshd_config.** (at `/etc/ssh/sshd_config`)
57 | See [here](https://www.tecmint.com/create-ssh-tunneling-port-forwarding-in-linux/).
58 |
59 | + Step 2,
60 | On each of your home machines, run [this script](./start_tunnel.py) in the background.
61 | This script is a result of a lot of Googling and it basically helps you keep the SSH tunnel alive.
62 | Example:
63 | ```
64 | $ python start_tunnel.py 666.666.666.666 --retry_limit 500 --wait_secs 800 --server_port 21222
65 | ```
66 |
67 | + Step 3,
68 | Suppose you put a home machine to port 21222 of the cloud machine for the tunnel.
69 | You can then connect to this home machines on your remote laptop by:
70 | ```
71 | $ ssh -J your_username@666.666.666.666 -p 21222 your_username@localhost
72 | $ scp -o ProxyJump=your_username@666.666.666.666 -P 21222 your_username@localhost:source_file dest_path
73 | ```
74 |
75 | You can also simply use the following to connect:
76 | ```
77 | ssh -p 21222 your_username@666.666.666.666
78 | ```
79 |
80 | Good references through a lot of Googling:
81 |
82 | https://unix.stackexchange.com/questions/46235/how-does-reverse-ssh-tunneling-work#
83 |
84 | https://www.tecmint.com/create-ssh-tunneling-port-forwarding-in-linux/
85 |
86 | https://serverfault.com/questions/595323/ssh-remote-port-forwarding-failed
87 |
88 | https://unix.stackexchange.com/questions/3026/what-do-options-serveraliveinterval-and-clientaliveinterval-in-sshd-config-d
89 |
90 |
--------------------------------------------------------------------------------
/junwei_notes/start_tunnel.py:
--------------------------------------------------------------------------------
1 | # coding=utf-8
2 | # author: Junwei Liang
3 | # for: setting up a SSH tunnel between this machine and a gateway machine
4 | # assumption: SSH pub key already set up for this machine and the gateway machine (and vice versa)
5 |
6 | # sample usage: $ python start_tunnel.py 666.666.666.666 --server_port 21222 --retry_limit 500 --wait_secs 600
7 |
8 | # then, on a remote laptop, you can connect to this machine through the gateway machine via
9 | # $ ssh -J your_username@666.666.666.666 -p 21222 your_username@localhost
10 | # $ scp -o ProxyJump=your_username@666.666.666.666 -P 21222 your_username@localhost:source_file dest_path
11 |
12 | # Good references:
13 | # https://unix.stackexchange.com/questions/46235/how-does-reverse-ssh-tunneling-work#
14 | # https://www.tecmint.com/create-ssh-tunneling-port-forwarding-in-linux/
15 | # https://serverfault.com/questions/595323/ssh-remote-port-forwarding-failed
16 | # https://unix.stackexchange.com/questions/3026/what-do-options-serveraliveinterval-and-clientaliveinterval-in-sshd-config-d
17 |
18 | import os
19 | #import subprocess as commands
20 | import subprocess
21 | import time
22 |
23 | import argparse
24 |
25 | parser = argparse.ArgumentParser()
26 | parser.add_argument("server_ip")
27 | parser.add_argument("--retry_limit", default=1000, type=int)
28 | parser.add_argument("--server_port", default=22222, type=int)
29 | parser.add_argument("--to_local_port", default=22, type=int)
30 | parser.add_argument("--wait_secs", default=700, type=int,
31 | help="this should be larger than server side's sshd_config ClientAliveInterval*ClientAliveCountMax")
32 |
33 | def get_time_str_now():
34 | return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
35 |
36 | if __name__ == "__main__":
37 | args = parser.parse_args()
38 | trys = 0
39 | while True:
40 | if trys >= args.retry_limit:
41 | break
42 | print("*"*40)
43 | print("tunneling start at %s, try # %s" % (get_time_str_now(), trys))
44 | cmd = "ssh -o ExitOnForwardFailure=yes -N -T -R%d:localhost:%d %s" % (
45 | args.server_port, args.to_local_port, args.server_ip)
46 | print("run cmd: %s" % cmd)
47 | output = subprocess.getoutput(cmd)
48 | print("Exited at %s, cmd outputs:" % (get_time_str_now()))
49 | print(output)
50 | time.sleep(args.wait_secs)
51 | trys += 1
52 | print("Full system exit at %s" % get_time_str_now())
53 |
--------------------------------------------------------------------------------
/junwei_notes/web_app_tech_notes.md:
--------------------------------------------------------------------------------
1 | ## How To Make Web-Accessible Demos For Your AI Research/Applications
2 |
3 | ### Problem
4 |
5 | As DL researchers, we may want to put up web apps to showcase our research work.
6 | Here I present my experiences in setting up different types of demos.
7 | You can use it as a guide to put up a project page and/or **quickly** deploy a minimum viable product.
8 | Here I also show you how to make a publicly accessible web app that requires GPU computation from a home machine.
9 |
10 | 这篇指南总结我组建demo网站的经验,从简单的静态项目页面到需要GPU计算的Web程序,并介绍如何可以通过公网IP访问(比如部署在家庭网络的GPU机器)。
11 |
12 |
13 | + [What framework/server to use](#choosing-the-framework)
14 | + [How to make it publicly accessible from home](#how-to-make-it-publicly-accessible-from-home)
15 | + [GPU Demo Tech Tips](#gpu-demo-tech-tips)
16 |
17 | ### Choosing The Framework
18 |
19 | I believe every published research paper in CV/AI should be accompanied by a Github repo and a project page.
20 |
21 | In the simplest form, the project page could be just images (GIFs would be better to show your ideas) and text, and pointers to the repo and paper.
22 | In this case, simple static htmls would be enough.
23 | In terms of **where to host them**, here are the **free** options.
24 | At CMU each student has a folder under the cs.cmu.edu domain so we could just put the projects under our folder and they are publicly accessible.
25 | Some people would create a Github account specifically for that project to get it accessible through project.github.io.
26 | If you don't mind spending some money, you could get your own domain and rent a cloud machine to host your projects there.
27 | In this case, you will need to install your own server on the cloud machine.
28 | I use [XAMPP](https://www.apachefriends.org/) since it is easy to install and the Apache server comes with PHP and MySQL.
29 | Remember to learn some basic security-related configuration tips.
30 | Then you can serve the project htmls on the cloud machine through your domain.
31 | You can checkout my static page [project1](https://github.com/JunweiLiang/VERA_3D_Reconstruction), [project2](https://github.com/JunweiLiang/junweiliang.github.io), and PHP [project1](https://github.com/JunweiLiang/VERA_Shooter_Localization), [project2](https://github.com/JunweiLiang/Lecture_Attendance_Management).
32 |
33 | For more complex demos that require some computing (especially with GPUs) during inference time, I would recommend building one with [Flask](https://flask.palletsprojects.com/en/2.2.x/).
34 | It requires minimal additional code. Basically you write a python function for each POST/GET request and that's all (and some htmls).
35 |
36 | ### How to make it publicly accessible from home
37 |
38 | Let's say you want to host your complex AI projects or even static htmls on your home GPU machines.
39 | But you don't have a public IP for your home network.
40 | We could use the SSH tunneling technique I mentioned [in another note](./server_ssh_anywhere.md).
41 | Here is what we need to do:
42 |
43 | + Step 1,
44 | rent the cheapest Linux cloud machine with a public IP.
45 | I got a machine with 2 vCPUs & 2GB RAM on Aliyun for a year for only ¥230
46 | (the cost of network traffic is pay-as-used).
47 | Install SSH server on your middle-man/cloud machine and your home machines. Duh.
48 | Put your remote laptop and your home machines' SSH public key on the cloud machine's authorized_keys
49 | (so you won't need to enter two passwords each time you try to connect your home machine with your remote laptop).
50 | Put your cloud machine's SSH public key to your home machines' authorized_keys. **Set your cloud machine's SSH server's GatewayPorts and AllowTcpForwarding to yes by modifying the sshd_config.** (at `/etc/ssh/sshd_config`)
51 | See [here](https://www.tecmint.com/create-ssh-tunneling-port-forwarding-in-linux/).
52 | Also, you need to configure the cloud machine to allow TCP traffic through your port(s) for the demos (21222 in the example below).
53 |
54 | + Step 2,
55 | on your demo machine, run [this script](./start_tunnel.py) in the background.
56 | This script is a result of a lot of Googling and it basically helps you keep the SSH tunnel alive.
57 | Example for Apache server (default using port 80):
58 | ```
59 | $ python start_tunnel.py 666.666.666.666 --retry_limit 500 --wait_secs 800 --server_port 21222 --to_local_port 80
60 | ```
61 | So then you could access your project page from the browser through http://666.666.666.666:21222.
62 | For any Flask app, change the `--to_local_port` accordingly.
63 |
64 | ### GPU Demo Tech Tips
65 |
66 | We usually use Python with Tensorflow/PyTorch to build models for our research work.
67 | Let's say you want to build a demo that could run model inference given any user-provided inputs.
68 | [Flask](https://flask.palletsprojects.com/en/2.2.x/) is Python-based so you could directly copy-and-paste your inference code.
69 | All you need to do is add some good-looking htmls to show the results (and provide a uploading inferface of course).
70 | I would even just use subprocess to invoke a shell call to the model inference main script within the Flask app
71 | (so you don't need to change any more code if you update your model inference code).
72 |
73 | When building GPU demo with Flask, it usually involves uploading images/videos from the browser and then a long computing time before results are presented.
74 | I use Ajax POST to submit the computing job to a Flask function that calls model inference (and the users would stay on that page).
75 | And to improve user experiences, I would design a progress bar for the computing wait time.
76 | I would use simple [Ajax Pooling](https://medium.com/geekculture/ajax-polling-vs-long-polling-vs-websockets-vs-server-sent-events-e0d65033c9ba#:~:text=Polling%20is%20a%20standard%20technique,an%20empty%20response%20is%20returned.) to repeatedly get the progress of the processing (so in the processing script, step-wise progress should be updated to a file. No database needed).
77 | Users would be directed to the result page once the computing is completed.
78 |
79 |
--------------------------------------------------------------------------------
/managing.md:
--------------------------------------------------------------------------------
1 | ## How to Run A Lab / Recruit Candidates
2 |
3 | ### Contents
4 | 1. Recruitment/lab rules; [link](#recruitment)
5 | 2. Management Tools; [link](#tools)
6 |
7 |
8 | ### Recruitment
9 |
10 | In this list, I try to gather useful recruitment info from top labs and bits and pieces on how they are managed. Some important questions for young TTAPs include whether and how to have weekly meetings, reports, etc.
11 |
12 | 这里我列出一些可参考的如何招生、如何管理实验室的别人的经验。
13 |
14 |
15 | | 学校 | 导师 | Note | Link |
16 | |------------|----------------|----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
17 | | | | 知乎 - 实验室组会怎么开 | [link](https://www.zhihu.com/question/22215108?utm_source=wechat_session&utm_medium=social&utm_oi=1011005853909884928&utm_content=group3_supplementQuestions&utm_campaign=shareopn) |
18 | | tsinghua U | | Rules for lab members | [link](https://www.zhihu.com/question/510167831/answer/2618083563?utm_source=wechat_session&utm_medium=social&utm_oi=1011005853909884928&utm_content=group3_Answer&utm_campaign=shareopn) |
19 | | Nankai U | Mingming Cheng | recruitment requirement (招生要求、考核、毕业标准) | [link](https://mmcheng.net/recruit/) |
20 | |Nankai U |Mingming Cheng |open-source requirement/advice for students |[link](https://mmcheng.net/notice/)|
21 | |HKU |Qi Liu |recruitment requirement (招生要求) |[link](https://leuchine.github.io/post/recruitment/)|
22 | |Stanford |Diyi Yang |recruitment requirement (招生要求) |[link](https://cs.stanford.edu/~diyiy/getinvolved.html)|
23 | |CMU |Shubham Tulsiani |recruitment requirement (招生要求) |[link](https://shubhtuls.github.io/)|
24 | |Brown U | Chen Sun |recruitment requirement (招生要求) |[link](https://chensun.me/application.html)|
25 | |HKUST (GZ) | Junwei Liang |recruitment requirement (招生要求) |[link](https://junweiliang.me/letter.html)|
26 | |Twitter | | A thread discussion on lab meetings |[link](https://twitter.com/adjiboussodieng/status/1569471796839354370)|
27 | |Twitter | | #NewPI |[link](https://twitter.com/hashtag/NewPI)|
28 |
29 | ### Tools
30 |
31 | In this list, I would like to collect a list of free apps and tools that could help manage projects.
32 |
33 | | Name | note | Link |
34 | |-----------------|--------------------------------------------------------------------------------------------------------|----------------------------------|
35 | | Slack | 主要是用于团队沟通, 发信息,Argo用来发daily updates | https://slack.com |
36 | | trello | 项目追踪,团队协作; simple move the card to a list from todo to doing to done | https://trello.com |
37 | | discord | VoIP/instant message? | https://discord.com |
38 | | Google Calendar | At Google, we can see everyone's (within the same org) calendar and scheduling one-on-one is very easy | https://www.google.com/calendar/ |
39 | | Phabricator | 成熟框架,项目追踪,任务/团队协作,代码管理 | https://www.phacility.com/phabricator/ |
40 |
41 |
--------------------------------------------------------------------------------
/pics/conference_timeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunweiLiang/awesome_lists/50cb6effd8bc22ebfe6520017be0f2c22f398cc5/pics/conference_timeline.png
--------------------------------------------------------------------------------
/pics/conference_timeline_cv_ai.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunweiLiang/awesome_lists/50cb6effd8bc22ebfe6520017be0f2c22f398cc5/pics/conference_timeline_cv_ai.jpg
--------------------------------------------------------------------------------
/pics/funding_timeline_cv_ai.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunweiLiang/awesome_lists/50cb6effd8bc22ebfe6520017be0f2c22f398cc5/pics/funding_timeline_cv_ai.jpg
--------------------------------------------------------------------------------
/pics/my_computing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunweiLiang/awesome_lists/50cb6effd8bc22ebfe6520017be0f2c22f398cc5/pics/my_computing.png
--------------------------------------------------------------------------------
/research_lists.md:
--------------------------------------------------------------------------------
1 | ## Research Lists
2 |
3 | ### Contents
4 | 1. 2017-2023 CVPR/ICCV/ECCV/NeurIPS/ICLR Oral papers; [Link](##2017-2023-cvpriccveccvneuripsiclr-oral-papers)
5 | 2. AMiner; [Link](#AMiner)
6 |
7 | ## 2017-2023 CVPR/ICCV/ECCV/NeurIPS/ICLR Oral papers
8 |
9 | - Link: [https://gaplab.cuhk.edu.cn/cvpapers](https://gaplab.cuhk.edu.cn/cvpapers/)
10 | - Link:[https://aipaper.fun/](https://aipaper.fun/)
11 |
12 | ## AMiner
13 |
14 | Link: [https://www.aminer.cn/](https://www.aminer.cn/)
15 |
--------------------------------------------------------------------------------
/social.md:
--------------------------------------------------------------------------------
1 | ## Academic Social Media
2 |
3 | ### Contents
4 | 1. Paper Digest; [Link](#paper-digest)
5 | 2. Academic Platform; [Link](#academic-platform)
6 |
7 | ### Paper Digest
8 |
9 | Since there are too many papers published everyday, we may need some prelimnary paper filtering before actually reading them.
10 | Aside from looking at papers already published at top conferences, we could follow some social media sites that I think are providing good recommendations.
11 |
12 | 这里列一些值得关注的公众号或者社交媒体,上面推荐的文章基本都值得一读。
13 |
14 | | Name | 类型 | Link | Note |
15 | |---------------------------------|----------------------------------|----------------------------------------------------------|----------------------------------------------------------|
16 | | Two Minute Papers | Youtube | [Link](https://www.youtube.com/channel/UCbfYPyITQ-7l4upoX8nvctg) |
17 | | Two Minute Papers | Twitter | [Link](https://twitter.com/twominutepapers) |
18 | | Andrej Karpathy | Twitter | [Link](https://twitter.com/karpathy) |
19 | | Andrej Karpathy | Youtube | [Link](https://www.youtube.com/c/AndrejKarpathy) |
20 | | Yann LeCun | Twitter | [Link](https://twitter.com/ylecun) |
21 | | PaperWithCode | Twitter | [Link](https://twitter.com/paperswithcode) |
22 | | PaperWithDatasets | Twitter | [Link](https://twitter.com/paperswithdata) |
23 | | Google AI Blog | Blog | [Link](https://ai.googleblog.com/) |
24 | | Awesome lists (of various research directions) on Github. They are usually more recent than survey papers at top journals.||
25 | | 机器之心 | 微信公众号/知乎 | |
26 | | 量子位 | 微信公众号/知乎 | |
27 | | VALSE | 微信公众号 | [Link](http://valser.org/) |
28 | | 中国计算机学会 | 微信公众号 | |
29 | | 大可Offer | 微信公众号/知乎 (用于发招生信息) | |
30 | | 智源社区 | 微信公众号 | |
31 | | CCF视觉专委会 | 微信公众号 | |
32 | | CVer | 微信公众号/知乎 | |
33 | | 微软研究院AI头条 | 微信公众号 | |
34 | | ChallengeHub | 微信公众号 | | 中国区全球赛事Top选手交流学习开源平台 |
35 | | CVHub | 微信公众号 | | 计算机视觉全栈知识分享,最新顶会论文分享 |
36 | | Coggle数据科学 | 微信公众号 | | 专注数据科学领域竞赛分享 |
37 | | GithubDaily | 微信公众号 | | Github优质项目分享 |
38 | | 集智书童 | 微信公众号 | | 科研和工业前沿知识分享 |
39 | | 老刘说NLP | 微信公众号 | | 高质量NLP与LLMs模型知识分享 |
40 | | ReadPaper论文阅读平台 | 微信公众号 | | 最新顶刊顶会论文领读 |
41 | | 新智元 | 微信公众号/知乎 | | |
42 | | 医学图像计算青年研讨会 | 微信公众号 | | 国内外顶尖医学图像领域学者研究学习平台 |
43 | | 最新医学影像技术 | 微信公众号 | | 医学图像任务代码和数据集分享 |
44 |
45 | ### Academic Platform
46 |
47 | It's important to have a platform to promote and discuss one's work other than at top conferences. In this list I aim to collect all kinds of social media sites where we could build our academic profiles.
48 |
49 | Junwei: Having 1-3 profiles would be enough. I have way too many.
50 |
51 | 建立学术档案/自媒体账号,方便推荐、讨论自己的研究工作。
52 |
53 | | Name | Type | Sample Link |
54 | |--------------------|------------------------------------|---------------------------------------------------------------------|
55 | | Google Scholar | profile | [Junwei's](https://scholar.google.com/citations?hl=en&user=bMedjfUAAAAJ) |
56 | | Semantic Scholar | profile | [Junwei's](https://www.semanticscholar.org/author/Junwei-Liang/1915796) |
57 | | Research Gate | profile | [Junwei's](https://www.researchgate.net/profile/Junwei_Liang3) |
58 | | 百度学术 | profile | [Junwei's](https://xueshu.baidu.com/scholarID/CN-BX8YQS9J) |
59 | | Aminer | profile | [Junwei's](https://www.aminer.cn/profile/junwei-liang/562cb48c45cedb3398c9e13b) |
60 | | Github | profile/publish | [Junwei's](https://github.com/JunweiLiang) |
61 | | publon | profile | [Junwei's](https://www.webofscience.com/wos/author/record/AAC-2513-2019) |
62 | | ORCID | profile | [Junwei's](https://orcid.org/my-orcid?orcid=0000-0003-2219-5569) |
63 | | kaggle | profile | [Junwei's](https://www.kaggle.com/junweiliang1114) |
64 | | AI Crowd | profile | [Junwei's](https://www.aicrowd.com/participants/junwei_liang) |
65 | | IEEE Xplore Author | profile (cannot change) | [Junwei's](https://ieeexplore.ieee.org/author/37086035452) |
66 | | DBLP | profile (cannot change) | [Junwei's](https://dblp.org/pid/62/10704-1.html) |
67 | | OpenReview | profile | [Junwei's](https://openreview.net/profile?id=~Junwei_Liang1) |
68 | | 小红书 | profile/publish | [Junwei's](https://www.xiaohongshu.com/user/profile/62c3a783000000001b02b099) |
69 | | bilibili | profile/publish | [Junwei's](https://space.bilibili.com/1746376957) |
70 | | Youtube | profile/publish | [Junwei's](https://www.youtube.com/channel/UC-z7ZWp8Rbu2xhxnbAL_bRQ) |
71 | | 知乎 | profile/publish | [Junwei's](https://www.zhihu.com/people/junwei-liang-50) |
72 | | LinkedIn | profile/publish | [Junwei's](https://www.linkedin.com/in/junweiliang/) |
73 | | Twitter | profile/publish | [Junwei's](https://twitter.com/JunweilLiang) |
74 | | PaperWithCode | profile (cannot change) | [Junwei's](https://paperswithcode.com/search?q=author%3AJunwei+Liang) |
75 | | 一亩三分地 | profile/publish (可用于发招生信息) | |
76 | | reddit | profile/publish | |
77 | | quora | profile/publish | |
78 | | 微博 | profile/publish | |
79 | | 微信公众号 | profile/publish | |
80 |
--------------------------------------------------------------------------------
/webpage.md:
--------------------------------------------------------------------------------
1 | ## Awesome Academic Pages (for both TTAPs and PhD students)
2 |
3 | I believe in openness and transparency. I think an informative academic page is important for both TTAPs and PhD students. A well-organized lab web page could lead to more collaboration. In this list I gather some of the best pages IMO.
4 |
5 | 这里收集一些我个人觉得比较好的学术主页。
6 |
7 |
8 | | Org | by | type | link |
9 | |---------------------------------|------------------|----------------|---------------------------------------|
10 | | HKU | Qi Liu | personal | [link](https://leuchine.github.io/) |
11 | | HKUST-GZ | Yingcong Chen | personal | [link](https://www.yingcong.me/) |
12 | | University of Wisconsin-Madison | Junjie Hu | personal | [link](https://junjiehu.github.io/) |
13 | | NUS | Mike Shou | personal | [link](http://www.columbia.edu/~zs2262/) |
14 | | NUS | Mike Shou | lab | [link](https://sites.google.com/view/showlab) |
15 | | tsinghua | Chuhan Wu | personal | [link](https://wuch15.github.io/) |
16 | | tsinghua | Lu Fang | personal | [link](http://www.luvision.net/) |
17 | | tsinghua | Lu Fang | lab | [link](https://thu-luvision.github.io/) |
18 | | Stanford | Diyi Yang | personal | [link](https://cs.stanford.edu/~diyiy/) |
19 | | CMU | Shubham Tulsiani | personal | [link](https://shubhtuls.github.io/) |
20 | | HKU | SAIL lab | lab | [link](https://www.eee.hku.hk/~sail/#about) |
21 | | CMU | Jason Zhang | single project | [link](https://jasonyzhang.com/relpose/) |
22 | | HKUST-GZ | Junwei Liang | personal | [link](https://junweiliang.me/) |
23 | | NVIDIA/CMU | Xinshuo Weng | personal | [link](https://xinshuoweng.com/) |
24 | |Github| Many | Github README awesome list|[link](https://zzetao.github.io/awesome-github-profile/)|
25 | | CMU | Henny Admoni | personal | [link](http://hennyadmoni.com/) |
26 | | Nanjing University | Hao Tang | personal | [link](https://cser-tang-hao.github.io/) |
27 | | Radboud University Medical Center | Diagnostic Image Analysis Group | lab | [link](https://github.com/DIAGNijmegen/website-content) |
28 | | Wowchemy | Wowchemy | lab | [link](https://github.com/wowchemy/)、[preview](https://wowchemy.com/templates/) |
29 |
--------------------------------------------------------------------------------