CSBasicKnowledge
"Open Source allows people to build on a solid base of previous knowledge, without some silly hiding."
- Linus Torvalds
欢迎来到这个专注于计算机科学基础知识的仓库。本仓库的目标是补充计算机专业教育中可能缺失的知识点,提供广泛、优质的学习资源。
我们鼓励并期待有缘人加入我们,共同维护和丰富这个仓库。无论是添加新内容,还是改进现有内容,您的贡献都将使这个仓库变得更好。
CS
- CS 自学指南: [zh-cn] [en]
- OI Wiki(ACMer必备): [zh-cn]
- The Missing Semester of Your CS Education: [en] [zh-cn]
- CS免费编程书籍:[Github]
- Crash Course Computer Science(个人觉得值得观看的计算机知识速成科普课程): [Origin_YouTube] [CN_Bilibili] [CN_Source]
- 在有用和没用之间徘徊的速查网站:[zh-cn]
本章的内容是Programming Language,期待大佬补充内容。
Program Synthesis & Automated Reasoning
-
相关课程:
-
Satisfiability Modulo Theories:[Paper]
-
PySMT:可与多个SMT求解器进行交互的符号模型检验和约束求解的Python库:[Page]
-
程序修复:[Paper]
-
香蕉空间:
Program Analysis
- 静态分析:
- 动态分析:
- 程序分析工具:
- LLVM:[Book]
CG
- Ray Tracing in One Weekend 系列 [en]
- LearnOpenGL [en] [zh-cn]
- 太极图形课第一季 [Github]
- GAMES 系列课程 [主页]
- CGPC2023 [Bilibili]
- Rendering 渲染相关
本章的内容是Computer System,涵盖sys的各个方面,包括arch/os/storage/db等等,期待大佬补充。
HPC
- 高性能计算学习路线:[Github: zh-cn]
- 高等数值分析(高性能计算,并行计算): 华东师范大学高等数值分析(高性能计算,并行计算)
- 超算习堂:[zh-cn]
- 并行计算课程:
- Labs:
System
-
机器学习系统:设计和实现: [page] [Github: zh-cn]
Security
- ctf-wiki: CTF wiki
- awesome-ctf-resources: A list of Capture The Flag (CTF) frameworks, libraries, resources and software for started/experienced CTF players 🚩
AI这一章节有太多可以津津乐道的内容,期待各位大佬补充。
PyTorch
- pytorch examples
- pytorch tutorials
- pytorch模型性能分析和优化: weixin
- pytorch handbook: [Github:zh-cn]
- datawhale/thorough-pytorch: [Github:zh-cn]
- 杂七杂八的收集DL相关的东西: [Github:en]
Framework
- pytorch-lightning: Pretrain, finetune and deploy AI models on multiple GPUs, TPUs with zero code changes.
Visualization
- wandb: 🔥 A tool for visualizing and tracking your machine learning experiments. This repo contains the CLI and Python API.
- PyTorch tensorboard: How to use tensorboard in PyTorch.
- SwanLab: ⚡️SwanLab: track and visualize all the pieces of your machine learning pipeline. 跟踪与可视化你的机器学习全流程
HuggingFace
- 高速下载 huggingface 的超大体积的模型和数据集:
- Github: huggingface-go
- AI快站: 10MB/S下载的带宽资源
- 国内huggingface加速镜像站
- 如何快速下载huggingface模型——全方法总结
Dataset下载
NLP(Natural language Processing)
- CS224n:Stanford 的 NLP入门课程 [Main Page] [Slides, Notes & Assignments] [Bilibili]
- funNLP NLP民工的乐园: 几乎最全的中文NLP资源库
- zibuyu/research_tao
- sebastianruder/NLP-progress: Github:en | online Tracking Progress in Natural Language Processing
CV(Computer Vision)
- CS231n: Stanford 的 CV 入门课程 [Main Page] [bilibili] [Assignments]
- Awesome-Vision-Attentions: Summary of related papers on visual attention. Related code will be released based on Jittor gradually.
- Transformer-in-Computer-Vision: A paper list of some recent Transformer-based CV works.
- rese1f/Awesome-VQVAE: A collection of resources and papers on Vector Quantized Variational Autoencoder (VQ-VAE) and its application
object detection
- open-mmlab/mmdetection: OpenMMLab Detection Toolbox and Benchmark
- facebookresearch/detectron2: Detectron2 is a platform for object detection, segmentation and other visual recognition tasks.
- facebookresearch/detr: End-to-End Object Detection with Transformers
- IDEA-Research/detrex: detrex is a research platform for DETR-based object detection, segmentation, pose estimation and other visual recognition tasks
segmentation
Vision-Language Model
- VLM_survey: Vision-Language Models for Vision Tasks: A Survey
- LLM-in-Vision: Recent LLM-based CV and related works. Welcome to comment/contribute!
Audio & Speech
- Speech-Resources: 语音方向实验室/公司/资源/实习等,欢迎推荐或自荐
- metame-ai/awesome-audio-plaza: Daily tracking of awesome audio papers, including music generation, zero-shot tts, asr, audio generation
- SpeechTasks: This is a list of speech tasks and datasets, which can provide training data for Generative AI, AIGC, AI model training, intelligent speech tool development, and speech applications.
- ai-audio-startups: Community list of startups working with AI in audio and music technology
- speech_rankings: A CSRankings-like index for speech researchers
- INTERSPEECH-2023-Papers: INTERSPEECH 2023 Papers: A complete collection of influential and exciting research papers from the INTERSPEECH 2023 conference.
SSL
- Awesome-Speech-Pretraining: Paper, Code and Statistics for Self-Supervised Learning and Pre-Training on Speech.
- facebookresearch/fairseq: Facebook AI Research Sequence-to-Sequence Toolkit written in Python.
ASR
- kaldi: Kaldi Speech Recognition Toolkit
- next-gen kaldi
- k2-fsa/icefall: The icefall project contains speech-related recipes for various datasets using k2-fsa and lhotse.
- lhotse-speech/lhotse: Tools for handling speech data in machine learning projects.
- openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision
- awesome-whisper: Awesome list for Whisper — an open-source AI-powered speech recognition system developed by OpenAI
Generation
- open-mmlab/Amphion: Amphion (/æmˈfaɪən/) is a toolkit for Audio, Music, and Speech Generation.
- facebookresearch/audiocraft: Audiocraft is a library for audio processing and generation with deep learning.
- NVIDIA/NeMo: NeMo: a framework for generative AI
Audio/Speech LLM
- QwenLM/Qwen-Audio: The official repo of Qwen-Audio (通义千问-Audio) chat & pretrained large audio language model proposed by Alibaba Cloud.
- awesome-large-audio-models: Collection of resources on the applications of Large Language Models (LLMs) in Audio AI.
- Large-Audio-Models: Keep track of big models in audio domain, including speech, singing, music etc.
Dataset
- speech-datasets-collection: a curated list of speech datasets (110+ datasets, 75+ easy to download)
- ai-audio-datasets: This is a list of datasets consisting of speech, music, and sound effects
- ULCA-asr-dataset-corpus: asr dataset corpus collection
- coqui-ai/open-speech-corpora: A list of accessible speech corpora for ASR, TTS, and other Speech Technologies
- voice_datasets: A comprehensive list of open-source datasets for voice and sound computing (95+ datasets).
- audio-datasets: open-source audio datasets
- speech_dataset: The dataset of Speech Recognition
- k2-fsa/libriheavy: Libriheavy: a 50,000 hours ASR corpus with punctuation casing and context
- facebookresearch/libri-light
Recommendation System
- datawhale/fun-rec: [Github:zh-cn]
Large Language Model
- LLM-action: Github: zh-cn
- LLMSurvey: Github
- LLM-Agent-Paper-List (Fdu NLP): Github
- llamafia.github: [Github] 一个中文前沿 AI / LLM 开源讨论空间
- Large Language Model Course: [Github]
- 中文LLaMA&Alpaca大语言模型+本地CPU/GPU训练部署 (Chinese LLaMA & Alpaca LLMs): [Github]
Tutorials
- 一些国内的广为人知的视频教程,适合边睡边看:
- 一篇不太专业的如何读论文的小文档:[pdf]
- paper with code:[page]
- 算法知识应知应会:[Github]
- Microsoft AI-EDU: [zh-cn]
- 机器学习入门指南: [zh-cn]
- CS229机器学习技巧和秘诀速查表: [zh-cn]
- 科学空间(苏剑林): [zh-cn]
- 深度学习500问: [Github: zh-cn]
- awesome-ai-tools: [Github: en]
- Learning Research: [Github: zh-cn]
- Stanford HowToReadpaper: [page] [pdf]
- 有关迁移学习的一切的资料: [Github]
Prompts
- ChatGPT 中文调教指南: [Github: zh-cn]
- Awesome ChatGPT Prompts: [Github: en]
- 🤖 ChatGPT 中文指南 🤖:[Github: zh-cn]
- Openprompt(Create. Use. Share. Chatgpt prompts): [zh-cn]
- understand-prompt: [Github:zh-cn]
CUDA & Nvidia
- CUDA C++ Programming Guide: The programming guide to the CUDA model and interface.
- NVIDIA/CUDALibrarySamples: The CUDA Library Samples are released by NVIDIA Corporation as Open Source software under the 3-clause "New" BSD license.
- pybind11 documentation
- Using pybind11
- Use pybind11 for a detailed but simple example
- 切换CUDA版本步骤: [CSDN]
- 查看你的显卡的情况:
本章节主要讲一些学术相关的知识,包括文献搜索,科研经验、读博体验等,期待大佬补充内容。
Academic常用知识
论文写作
- learning_research: 科研经验总结
- English-Writing: Enhance Your English Writing for Science Research 写论文英语素材
- ML Visuals: 🎨 ML Visuals contains figures and templates which you can reuse and customize to improve your scientific writing.
常用工具
- Google Scholar:谷歌学术
- 计算机科学文献数据库:DBLP [en]
- SCI期刊查询和scihub各种科研导航: [Page]
- ACM数字图书馆:ACM Digital Library [en]
- IEEE学术数据库:IEEE Xplore [en]
- SCI论文检索:Web of Science [en]
- EI论文检索:Engineering Village [en]
- 中文文献检索:中国知网 [zh-cn]
- 中国计算机学会(CCF)推荐国际学术会议和期刊目录(2022版)[pdf]
- CCF会议投稿截止时间汇总:[zh-cn]
- CCFrank: 在相关网站的搜索结果中显示 CCF 评级的浏览器插件 [Github] [Chrome] [Edge] [FireFox]
- 清华大学计算机学科推荐学术会议和期刊列表 (TH-CPL)
- CSRankings: Computer Science Rankings
- 国家自然科学基金查询
Tenure-Track Asst. Professors and PhD students
- Awesome Lists for Tenure-Track Asst. Professors and PhD students: [Github: en & zh-cn]
- 一个博士生在科研大组的生存指南: [pdf]
- Collection of advice for prospective and current PhD students: [Github: en]
- A Survival Guide to a PhD: [en]
- nlp-phd-global-equality: A repo for open resources & information for people to succeed in PhD in CS & career in AI / NLP
本章节包含与写作有关的知识,欢迎大佬补充。
CV & Resume
- Awesome Resume for Chinese
- cv_emuluate: Academic CVs that you can (hopefully) emulate
- Awesome-CV: 📄 Awesome CV is LaTeX template for your outstanding job application
LaTeX & Markdown
- latex codebook
- Latex公式识别
- Overleaf(在线Latex编辑器)
- Typora 伪装 LaTeX 中文样式主题
- latex-templates
- Latex 常见的数学符号
- awesome-latex-drawing: Drawing Bayesian networks, graphical models, tensors, technical frameworks, and illustrations in LaTeX.
- LaTeX教程,篇幅较大,但是好用:[官网][镜像][Github]
- \(\LaTeX\) 在线表格生成工具:[工具1] [工具2]
LaTex Beamer tutorial
Markdown
Typst
- Typst Web App
- Typst官方文档
- Typst Github Repo
- Typst sildes:polylux
- Awesome Typst 中文版
- Typst非官方的中文文档
- brilliant-CV: 💼 another CV template for your job application, yet powered by Typst and more
本章节包括了CS中的实用工具和技能,欢迎大佬补充。
Linux
- 中科大 LUG 基础 Linux 教程: [zh-cn]
- 南京大学计算机科学与技术系计算机系统基础: Linux入门教程
- 鳥哥的 Linux 私房菜:[zh]
- 从 Socket error 丢失网络连接的 Linux SSH 恢复 pts 会话:[zh-cn]
下次记得运行长时间程序前先使用
screen
或tmux
- Update GCC
Shell
- Linux命令搜索
- explainshell
- Bash scripting cheatsheet
- The art of command line
- bash.academy: This guide is an introduction to basic and advanced concepts of the bash shell.
Vim
vimtutor
关于 vim 最基础的教程,安装 vim 之后自带的命令- 聪明地学习 vim: [GitHub: en]/[GitHub: zh-cn]
- Vim命令速查表: 简介:Vim 命令速查表,注释化 vimrc 配置文件,经典 Vim 键盘图,实用 Vim 书籍,Markdown 格式,目录化检索,系统化学习,体系化配置工具集,快速熟悉使用。✨
- Vim Cheat Sheet
Git & Github
- Learn Git Branching(强推): [zh-cn]
- Pro Git 中文版
- Git lfs install
- Gitchat: [zh]
- Git规范化提交
- 第一次参与开源项目,如何提交pr: [Github: zh-cn] | [mmcv contribution]
- 给 Github Desktop 设置代理
- clone远程仓库的指定分支
git clone -b + 要clone的分支名 + 仓库地址 # eg: git clone -b dev git@github.com:CS-BAOYAN/CSBasicKnowledge.git
- SSH key的生成:
- 检查SSH key是否存在:
ls -al ~/.ssh # Lists the files in your .ssh directory, if they exist
- 生成SSH key, 会在/your_home_path/.ssh/生成id_rsa和id_rsa.pub
ssh-keygen -t rsa -C "your_email@example.com" # Creates a new ssh key using the provided email Generating public/private rsa key pair. Enter file in which to save the key (/your_home_path/.ssh/id_rsa):
- 检查SSH key是否存在:
How to Debug
gdb
- gdb-dashboard: 使用 Python 在命令行中可视化使用 gdb 的小工具
pdb & ipdb
debugpy
- vscode python设置debug: [zhihu]
vscode debug setting
- Debug C++ in Visual Studio Code: [Document: en]
- Configure C/C++ debugging in VSCode: [Document: en]
Conda
- miniconda环境配置以及jupyter notebook使用指南: [zhihu]
- micromamba: miniconda 的平替,同时依赖解析等基础操作更快: [GitHub]
- 清华大学开源镜像站-miniconda的下载
# 下载安装脚本 wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh # 修改权限 chmod 777 Miniconda3-latest-Linux-x86_64.sh # 执行安装脚本 bash Miniconda3-latest-Linux-x86_64.sh # 删除安装脚本 rm Miniconda3-latest-Linux-x86_64.sh # 刷新环境变量 source ~/.bashrc
Docker
- Docker-从入门到实践: [zh-cn]
- How to Install PyTorch on the GPU with Docker: [en]
- Vscode连接远程服务器中的docker容器进行开发: [CSDN]
- docker权限问题:[CSDN]
- 如何临时退出一个正在交互的容器的终端,而不终止它? 按 Ctrl-p Ctrl-q。如果按 Ctrl-c 往往会让容器内应用进程终止,进而会终止容器,如果没有在IDE里面没有成功,请去除IDE对应的快捷键。
- docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
- https://github.com/NVIDIA/nvidia-docker/issues/1238
- https://github.com/NVIDIA/nvidia-docker/issues/1243
- Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:
sudo chmod 666 /var/run/docker.sock
程序员指南
- 程序员延寿指南: [Github: zh-cn]
- 程序员做菜指南: [Github: zh-cn]
- 颈椎病腰突康复指南: [Github: zh-cn]
- 超赞合集 awesome list chinese: [Github:zh-cn]
MISC
- 如何设置代理: [PDF]
- 耗时很长的程序忘加nohup就运行了怎么办?: [zhihu]
- linux 多线程下载工具-aria2c: [zhihu.com]
- 你的指法真的标准吗?打字练习一下:[zh-cn]
- 利用学生身份可以享受到的相关学生优惠权益: [Github]
- 论文常用词汇i.e.,e.g.,etc.,viz.,et al.的前世今生: [zhihu]
- 中国程序员容易发音错误的单词: [Github: zh-cn]
- 图吧工具箱: [page]
- 文献管理软件 Zotero:安装设置教程及各插件配置(知网支持、影响因子、被引数): [zh-cn]
- 阿里巴巴矢量图标库: [page]
- Paper Picture Writing Code: Github
- 魔盾安全分析(可疑软件在线分析):[zh-cn]
- 崔庆才 Python3 网络爬虫学习教程: [zh-cn]
- youtube下载工具:[Github]
- 掘金翻译计划:[Github:zh-cn]
- 桌面管理工具:[Github:zh-cn],推荐1.0.4.1release的免费版!
- 论文代码查找网站:[page]
【重要】For contributers
鸣谢
衷心感谢以下参与者对本指南的贡献。
Made with contrib.rocks.
贡献指南
若希望对CSBasicKnowledge进行贡献,请以SUMMARY.md
为大纲,在src
文件夹下进行markdown文件的添加即可。
目前,mdbook对数学公式的支持还不完善,如您需要使用数学公式,请参考下面的数学公式支持部分。
(可选) 如果您在部署了mdbook并运行后,可以直接在SUMMARY.md
中添加章节,例如:
# CSBasicKnowledge
- [example](./example/example.md)
mdbook会自动创建example
文件夹和example.md
文件。
当然,mdbook依赖于rust语言开发,如果您不喜欢rust相关内容,可以无视可选项及后续的本地部署部分。
数学公式支持
注意: MathJax 目前仍不能使用
$$ ... $$
作为分隔符,并且\[ ... \]
分隔符需要额外的反斜杠才能工作。 希望这个限制很快能解除。
注意: 当您需要在 MathJax 块中使用双反斜杠(例如
\begin{cases} \frac 1 2 \\ \frac 3 4 \end{cases}
等命令中)时,您需要添加两个额外的反斜杠(例如,\begin{cases} \frac 1 2 \\\\ \frac 3 4 \end{cases}
)。
行内公式
行内公式由 \\(
和 \\)
包围。例如,要渲染以下行内方程
\( \int x dx = \frac{x^2}{2} + C \),可以这么写:
\\( \int x dx = \frac{x^2}{2} + C \\)
块公式
块公式由 \\[
和 \\]
分隔。 要渲染下面这个块公式
\[ \mu = \frac{1}{N} \sum_{i=0} x_i \]
可以这么写:
\\[ \mu = \frac{1}{N} \sum_{i=0} x_i \\]
本地部署
CSBasicKnowledge的bookfy基于mdbook实现,该工具基于Rust开发,是markdown文件书本化非常值得推荐的工具。Rust的圣经 The Rust Programming Language 便是利用了mdbook生成的。
要安装mdbook请安装Rust相关工具链。随后,通过Rust的包管理器cargo进行mdbook的安装:
cargo install mdbook
通常,mdbook会安装在$HOME/.cargo/bin
,请将该目录添加至PATH
mdbook的运行非常简单,只需要:
# For detail, run `mdBook serve -h`
mdbook serve # default 127.0.0.1:3000
mdbook serve -p 8080 # 127.0.0.1:8080