开源软件供应链点亮计划——暑期2021 Julia中文社区

大家好~
今年夏天,Julia中文社区将首次加入 开源软件供应链点亮计划——暑期2021 21,Julia中文社区将会陆续添加项目提案,欢迎大家关注并转发。
此外,如果你是Julia社区中某个项目的核心开发者,也欢迎你在该项目下提交你的提案,具体流程可在原帖与作者联系。
-
该项目的时间节点:
https://summer.iscas.ac.cn/#/howitworks 10
-
学生参与该项目的一些常见问题:
https://summer.iscas.ac.cn/help/student/ 9
项目列表
项目列表
1. Julia 官方文档翻译
目前Julia中文文档位于 https://github.com/JuliaCN/JuliaZH.jl 2 ,从v1.3发布之后之后,该文档已经有一段时间没有更新了,本项目希望能将最新的英文文档在已有的基础上更新,同时完善自动化部署的流程。
项目产出要求:
-
将Julia中文翻译文档更新至与英文v1.6同步
-
完善自动化部署流程
项目技术要求:
-
熟悉文档翻译
-
对Julia编程感兴趣
项目联合导师:Jun Tianfind_my_way@foxmail.com
2. 基于可逆计算的稀疏矩阵求导
-
一个开源的Julia软件包
-
超过80的Test coverage
-
一个简单的展示用例子
-
覆盖基础稀疏矩阵函数的微分规则
-
Julia 语言
项目联合导师:陈久宁johnnychen94@hotmail.com
3. 添加高性能图像处理算法
-
实现新的图像处理算法
-
与其他框架的算法进行性能比较
-
了解图像处理算法
-
对性能优化有一定了解
-
了解 Julia 语言
4. 完善 ImageMagick 的 Julia 接口
-
more test coverage
-
fix legacy issues
-
add documentation
-
(optional) port more functionalities
项目技术要求:
-
familiar with Linux, C, and cross-compiling
-
knows Julia
5. Wide-range JuliaImages demos and missing functionalities
For new or occasional users, JuliaImages would benefit from a large collection of complete worked examples organized by topic. While the current documentation contains many “mini-demos,” they are scattered; an organized page would help users quickly find what they need. We have set up a landing page, but many more demos are needed. Scikit-image is one potential model.
项目产出要求:
-
add more demos
-
(Preferred) new missing functionalities
-
(Optional) improve the demo build tool
项目技术要求:
-
familiar with Julia and JuliaImages
-
Good technical written in English
6. Implement Multi-Agent Reinforcement Learning Algorithms in Julia
强化学习领域的一些最新进展引领了人工智能的许多突破,一部分最新的深度强化学习算法已经在ReinforcementLearning.jl库中实现。不过在多智能体方面,目前只实现了一些CFR相关的算法。我们希望有更多的实现,包括MADDPG,COMA,NFSP, PSRO等。
项目产出要求:
-
At least two experiments are expected to be added into ReinforcementLearningZoo.jl.
-
The experiment of each algorithm can be run on GPU.
-
A technical report on how it is implemented and example usage.
项目技术要求:
-
Basic understanding of Julia and Flux.jl.
-
Some basic knowledge in Reinforcement Learning.
7. General improvement to Julia-C interoperability tools
-
Add support for C vararg functions
-
Add support for dumping Julia documentation from C comments
-
Add support for auto-detecting dependent macros in the system headers
-
Add support for CompilationDatabase a.k.a extracting compile flags from compile_commands.json
-
Improve the support for C bitfield structs
-
Design and implement a more user-friendly configuration API (especially for cross-platform configuration)
-
Update the generator scripts in the downstream packages
-
Other misc. improvements in functionality
项目技术要求:
-
Good understanding of Julia AST
-
Good understanding of Clang AST
-
Good understanding of cross-compiling
项目社区导师:Yupei Qi
导师联系方式:qiyupei@gmail.com
8. 扩展ReinforcementLearning.jl中的离线强化学习相关算法
离线强化学习领域的一些最新进展正在将强化学习变得更加数据驱动,从而可以利用有监督机器学习领域的一些成熟方案。目前为止,ReinforcementLearning.jl中仅仅提供了最基础的Behavior Cloning算法,我们希望看到更多离线强化学习算法被囊括进来,如BCQ和CQL等。除此之外,为了加速离线强化学习的研究,我们希望能构建一个新的包,将更多基本离线强化学习数据集加入其中,如https://github.com/deepmind/deepmind-research/tree/master/rl_unplugged 此外,额外的一个任务是优化已有的连续动作空间算法。
项目产出要求:
-
创建一个新的包,将各种不同类型的离线强化学习数据集包含其中
-
优化已有的连续动作空间相关算法,同时添加更多的实验
-
新增两到三个离线强化学习算法并撰写技术报告
项目技术要求:
-
了解基本的离线强化学习算法
-
熟悉Julia相关的语法,以及常见的包,如Flux.jl和CUDA.jl
9. Parser generator targeting Julia
-
A Julia package that provides parser generator/一个提供parser generator 的Julia程序库
-
Corresponding improvements to large Julia projects(e.g., Yao.jl) that requires parsers/对parser的大型julia项目在相关方面做出改善
项目技术要求:
-
Basic knowledge about parsers
-
Julia language skill
-
Understanding about Backus-normal Form
-
It could be better to have knowledge about packrat parsing, parser combinators, LL/LR parsers
-
It could be better to understand pattern matching and algebraic data types
导师联系方式:twshere@outlook.com
项目联合导师:罗秀哲me@rogerluo.dev
10. Redesign and Polish Yao Website
-
A more user-friendly website for Yao
-
Improved pipelines for CI and Documentation
-
Julia
-
HTML/CSS/Javascript
导师联系方式:zhaochen17@mails.ucas.ac.cn
项目联合导师:罗秀哲me@rogerluo.dev
11. Basic Quantum Circuit Emulation Subroutine
-
an open-source Julia package
-
tests with code coverage > 80%
-
practical examples
-
basic knowledge on computer architecture, such as the concept of CPU cache, RAM, SIMD and CUDA
导师联系方式:zhaochen17@mails.ucas.ac.cn
项目联合导师:罗秀哲me@rogerluo.dev
12. 整合 Yao 与 Julia 的其他量子计算软件包
将 PastaQ (https://github.com/GTorlai/PastaQ.jl) 与 Yao 整合.
-
an open-source Julia package
-
some practical examples
-
Julia 基础
-
了解 Yao.jl
-
basic knowledge on quantum computing
导师联系方式:zhaochen17@mails.ucas.ac.cn
项目联合导师:罗秀哲me@rogerluo.dev
13. Native Julia ODE, SDE, DAE, DDE, and (S)PDE Solvers
The DifferentialEquations.jl ecosystem has an extensive set of state-of-the-art methods for solving differential equations hosted by the SciML Scientific Machine Learning Software Organization. By mixing native methods and wrapped methods under the same dispatch system, DifferentialEquations.jl serves both as a system to deploy and research the most modern efficient methodologies. While most of the basic methods have been developed and optimized, many newer methods need high performance implementations and real-world tests of their efficiency claims. In this project students will be paired with current researchers in the discipline to get a handle on some of the latest techniques and build efficient implementations into the *DiffEq libraries (OrdinaryDiffEq.jl, StochasticDiffEq.jl, DelayDiffEq.jl). Possible families of methods to implement are:
Implicit-Explicit (IMEX) Methods
Geometric (exponential) integrators
Low memory Runge-Kutta methods
Multistep methods specialized for second order ODEs (satellite simulation)
Parallel (multithreaded) extrapolation (both explicit and implicit)
Parallel Implicit Integrating Factor Methods (PDEs and SPDEs)
Parallel-in-time ODE Methods
Rosenbrock-W methods
Approximate matrix factorization
Runge-Kutta-Chebyshev Methods (high stability RK methods)
Fully Implicit Runge-Kutta (FIRK) methods
Boundary value problem (BVP) solvers like MIRK and collocation methods
BDF methods for differential-algebraic equations (DAEs)
Methods for stiff stochastic differential equations
Many of these methods are the basis of high-efficiency partial differential equation (PDE) solvers and are thus important to many communities like computational fluid dynamics, mathematical biology, and quantum mechanics.
Recommended Skills: Background knowledge in numerical analysis, numerical linear algebra, and the ability (or eagerness to learn) to write fast code.
14. Establish a General Pipeline for Offline Reinforcement Learning Evaluation
To facilitate the evaluation of offline RL algorithms in Julia, we’d like to setup a general pipeline by leveraging existing datasets and pre-trained policies. This project includes two tasks. Firstly, an independent package is required to load existing offline RL datasets in https://github.com/google-research/deep_ope . Secondly, the pretrained polices can be loaded in the Julia side for model selection benchmarking.
项目产出要求:
-
Create a new Julia package ReinforcementLearningDatasets.jl to export existing datasets with the interfaces defined in ReinforcementLearningCore.jl
-
Add experiments to load pretrained policies and evaluate them in Julia.
项目技术要求:
-
Be familiar with both Python (Tensorflow) and Julia(Flux.jl)
-
Understand basic concepts in offline reinforcement learning.
-
Mentor: Jun Tian find_my_way@foxmail.com
复杂科学最新论文
集智斑图顶刊论文速递栏目上线以来,持续收录来自Nature、Science等顶刊的最新论文,追踪复杂系统、网络科学、计算社会科学等领域的前沿进展。现在正式推出订阅功能,每周通过微信服务号「集智斑图」推送论文信息。扫描下方二维码即可一键订阅:

推荐阅读
点击“阅读原文”,进入Julia中文社区查看原帖





