MxNet系列——community——contribute

2023-05-16

博客新址: http://blog.xuezhisd.top
邮箱:xuezhisd@126.com


对MXNet做贡献

MXNet是由一群活跃的社区成员开发和使用的。请对其贡献,以改善它。
当你的补丁被合并时,别忘记将你的名字提交到 CONTRIBUTORS.md.

Guidelines

  • 提交Pull请求
  • 解决与Master的冲突问题
  • 组合多个提交
  • 强制推送的结果是什么?
  • 文档
  • 测试用例
  • 例程
  • 核心库
  • Python库
  • R包

提交Pull请求

  • 在提交你的贡献前,在最新版的master上,git rebase 你的代码:
git remote add upstream https://github.com/dmlc/mxnet
git fetch upstream
git rebase upstream/master
  • 如果你有多个小的提交,将其合并成一个有意义的组 (先使用 git rebase,在使用 squash)。
  • 发送pull请求。
  • 修改自动检查报告的问题。
  • 如果你正在对一个新模块做贡献,考虑在 tests 中添加一个测试用例。

解决与Master的冲突问题

  • Rebase 到当前master分支:
# 前两行只需做一次。如果已经执行过,跳过即可。
git remote add upstream https://github.com/dmlc/mxnet
git fetch upstream
git rebase upstream/master
  • Git 可能打印一些冲突,阻止合并。例如, conflicted.py
    • 手动修改文件,以解决冲突。
    • 解决冲突后,使用下面的代码将其标记为已解决(resolved)
git add conflicted.py.
  • 使用下面的命令继续 rebase:
git rebase --continue
  • 最终推送到你的fork。可能需要强制推送:
git push --force

组合多个提交

如果你正在提交多个commits,而后面的commits刚好修复(fix to)在前面的一个时,你可以将多个commits组合成一个有意义的组,然后在创建一个推送请求。

  • 开始前,先配置Git的默认编辑器(如果之前没有配置过的话):
git config core.editor the-editor-you-like
  • 假定你希望合并最后3个 commits,执行下面的命令:
git rebase -i HEAD~3
  • 出现一个文本编辑器,将第一个commit设置为 pick,后一个设置为 squash

  • 保存文件之后,会出现另一个文本编辑器,让你修改组合的commit的信息。

  • 通过强制推送,将改变推送到你的fork。

git push --force.

强制推送的结果是什么?

由于我们改变了commit路径,之前的两个Tips需要强制推送。强制推送到你自己的fork是没有问题的,只有你自己的commit被改变了。

文档

  • 文档是使用 Sphinx 和 recommonmark 创建的。
  • 你可以在本地构建文档来证实。

测试用例

  • 所有的测试用例都在GitHub中的 tests 目录。
  • 我们使用 python nose 作为python测试用例,用 gtest 作为 c++ 单元测试。

例程

  • 用例和例程在Git的 examples目录。
  • 如果你有关于MXNet的帖子后使用MXNet的教程,请告知我们。我们将会在GitHub中的例子中添加一个链接指向你的博客。

核心库

  • 对于 C++ 代码,我们遵循Google C++ 风格指南(Google C++ Style Guide)。
  • 我们使用 doxygen 将接口代码进行文档化。
  • 你可以通过 make lint重新生成 linter checks。

Python库

  • 总是以numpydoc的格式为新的函数添加 docstring。
  • 你可以通过 make lint重新生成 linter checks。

R包

代码风格

  • R包中的绝大多数C++代码都严重地依赖 Rcpp。
  • 对于 C++ 代码,我们遵循Google C++ 风格指南(Google C++ Style Guide)。 这使得我们能够与项目的其它部分保持一致。它也允许我们使用 linter 自动检查风格。
  • 在根目录中运行下面的命令,以检查代码风格:
make rcpplint
  • 如果有必要,你可以通过 // NOLINT(*)注释,来取消linter警告。

自动生成的API

  • 很多 MXNet APIs 动态地暴露于Rcpp。
  • mx_generated.R 是对这些函数自动生成的API和文档。
  • 通过执行下面的命令,Remake 文件:
make rcppexport
  • 仅当动态函数有更新时,才使用这个命令。

API 文档

文档是由 roxygen2 生成的。在根目录中执行下面的代码,可以 remake 文档:

make roxygen.

R Markdown Vignettes

R Markdown vignettes 位于GitHub上的 R-package/vignettes 目录。
这些 R Markdown 文件并没有编译。编译过的版本放在 doc/R-package。

添加一个新的 R Markdown vignettes:

  • 将原始的 R Markdown 文件添加到 R-package/vignettes
  • 修改 doc/R-package/Makefile,添加待构建的 Markdown 文件。
  • 将 dmlc/web-data 仓库克隆到 doc文件夹。
  • doc/R-package中的文件,执行以下命令:
make the-markdown-to-make.md
  • 这将会生成 markdown 和图片,并将它们放在 doc/web-data/mxnet/knitr
  • 修改 doc/R-package/index.md,使其指向生成的markdown。
  • 将生成的图片添加到 dmlc/web-data仓库。
    • 如果你已经将这个仓库克隆到doc目录下,使用 git add即可。
  • 为markdown和 dmlc/web-data创建一个 pull 请求。
  • 你可以使用以下命令在本地构建文档:
make html

这从根本上阻止了仓库增加(生成)图像大小的存储。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MxNet系列——community——contribute 的相关文章

  • VS2015 community评估期已结束

    今天打开VS2015 community忽然弹出框提示VS2015 community评估期已结束 xff0c 请登录已结束锁定 第一反应是需要秘钥 xff0c 发现咦 这个软件不太一样不需要秘钥 xff0c 只需要登录就可以使用 那这就简
  • 今日解决新安装的centos 8安装MYSQL提示未找到匹配的参数: mysql-community-server

    今日新安装的centos在安装mysql community server时一直报错 xff1a root 64 centos8 yum repos d yum y install mysql community server 上次元数据过
  • Centos7上安装MySQL community步骤

    下载mysql80 community release el7 3 noarch rpm软件源包文件 MySQL Community Yum Repository Downloads shell gt sudo yum localinsta
  • MxNet系列——how_to——visualize_graph

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何将神经网络可视化为计算图 该章节描述了如何在MXNet中使用在mx viz plot network来可视化 xff08
  • MxNet系列——how_to——torch

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何将MXNet用作Torch的前后端 本章节描述了如何将MXNet用作Torch的两个主要功能 xff08 前端和后端 xf
  • MxNet系列——get_started——index

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com MXNet 一个大规模的深度学习框架 MXNet 是一个开源框架 xff0c 它允许你在多种设备 xff08 从云架构到移动设
  • MxNet系列——get_started——windows_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Windows上安装 MXNet 在Windows上 xff0c 你可以直接下载和安装已经编译过的MXNet工具包 xff0c
  • MxNet系列——get_started——ubuntu_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Installing MXNet on Ubuntu MXNet现在支持的语言包括 xff1a Python R Julia
  • 通过真正的 Python Slack 社区提升您的技能

    目录 享受生活 保持好奇心 提出问题并尊重他人 找到提问的最佳渠道 Spend Some Time Composing Your Questions 总结您的问题 为您的问题提供背景信息 提供一个最小的可重复示例 提供追溯 请勿交叉发帖 尝
  • Python 新闻:2023 年 3 月以来的新增内容

    目录 Python 3 12 0 Alpha 6 发布 Python 本地包目录上的 PEP 582 被拒绝 PyCascades 2023 在不列颠哥伦比亚省温哥华举行 PyCon US 2023 招募志愿者 PyPI 发布博客 2022
  • Python 新闻:2021 年 5 月以来的新增内容

    目录 微软成为 PSF 第三位远见赞助商 Pallets Releases New Major Versions of All Core Projects Flask 获得原生 asyncio 支持 Jinja 改进了异步环境 Click
  • 编译 MXNet 模型

    本篇文章译自英文文档 Compile MXNet Models 作者是 Joshua Z Zhang Kazutaka Morita 更多 TVM 中文文档可访问 TVM 中文站 本文将介绍如何用 Relay 部署 MXNet 模型 首先安
  • Windows10上编译MXNet源码操作步骤(Python)

    1 按照https blog csdn net fengbingchun article details 84997490 中操作步骤首先在Windows上通过VS2017编译MXNet源代码 2 从 https mxnet incubat
  • 移动端unet人像分割模型--3

    前两篇文章已经完成基本从mxnet到ncnn的unet模型训练和转换 不过还存在几个问题 1 模型比较大 2 单帧处理需要15秒左右的时间 MAC PRO ncnn没有使用openmp的情况 3 得到的mask结果不是特别理想 针对这三个问
  • 用CMAKE编译OpenCV 3.4.2+Opencv Contrib 3.4生成可执行包

    1 github下载OpenCV https github com opencv opencv tree 3 4 2 github下载高级扩展包 https github com opencv opencv contrib tree 3 4
  • MXNET下载训练好的模型

    MXNet中有很多训练好的模型 直接在网页上下载一直报错 后来在https github com apache incubator mxnet blob master example image classification common
  • 使用MXNet完成一个基于FCN的盲道实时语义分割

    使用MXNet完成一个基于FCN的盲道识别语义分割 一点说明 基本原理 测试集效果 数据标注 训练 基本设置 读入数据 网络构建 开始训练 测试 一点说明 前段时间根据gluon的教程动手学深度学习和同学项目实地拍摄的盲道图片完成了一个基于
  • mxnet——模型加载与保存

    一 加载模型与pretrain模型network相同 loading predict module data shape G 96 Batch namedtuple Batch data sym arg params aux params
  • ubuntu14.04安装CUDA7.0、CUDNN7.0详细步骤

    一 安装CUDA7 0 CUDA 7 0在Linux下的安装步骤参见官网手册 CUDA Getting Started Linux 其中提及了 run deb 等安装 1 检查你的电脑是否支持CUDA 检查GPU是否支持 输入如下命令 如果
  • MXNet简介

    MXNet是一个十分优秀的深度学习框架 目前包含了许多语言接口 如Python C Scala R等 目前 MXNet版本已经更新到1 3 0 本系列文章主要使用Python接口 在MXNet官网 1 上 官方建议新手使用Python接口

随机推荐

  • MxNet系列——how_to——faq

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 常见问题 本节回答了 mxnet issues上的常见问题 在提问前 xff0c 请先检查该页面 如果你想要贡献本页面 xff
  • MxNet系列——how_to——env_var

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 环境变量 环境可以修改MXNet的一些设置 一般情况下 xff0c 你不需要修改这些设置 本节将它们罗列出来 xff0c 用于
  • MxNet系列——how_to——develop_and_hack

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 开发和 Hack MXNet 创建新的操作符在MXNet中使用Torch设置MXNet的环境变量 其它资源 概述 MXNet的
  • MxNet系列——how_to——cloud

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 在云上配置MXNet 从头开始设置一个AWS的GPU集群 本节提供了如何设置AWS集群以使用MXNet的详细教程 描述了如何
  • windows下使用qt编程的一些问题

    我下载了windows下qt的几个版本 qt win free 3 3 1 qt win free msvc 3 3 1还有一个qt3 0 5msvc的eval版 那个eval的版本expired了 但是只有这个版本向vc的addin目录中
  • linux创建ftp用户且限制访问目录

    1 使用root用户登录服务器 2 添加用户test xff0c 并设置路径 useradd d data sftp test test 3 为test用户设置密码 passwd test 4 查看passwd文件中是否存在test x 1
  • MxNet系列——how_to——caffe

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何在MXNet中使用Caffe操作符 Caffe 是一个有名的 xff0c 广泛使用的深度学习框架 MXNet 支持在它的符
  • MxNet系列——how_to——bucketing

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 在MXNet中使用Bucketing Bucketing是一种训练多个不同但又相似的结构的网络 xff0c 这些网络共享相同的
  • MxNet系列——model_zoo——index

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com MXNet的模型园地 MXNet 突出了学术论文中报告的最先进模型的快速实现 我们的模型园地 xff08 Modle Zoo
  • MxNet系列——get_started——index

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com MXNet 一个大规模的深度学习框架 MXNet 是一个开源框架 xff0c 它允许你在多种设备 xff08 从云架构到移动设
  • MxNet系列——get_started——overview_zh

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 下面是MXNet的综述 xff08 中文版 xff09 xff0c 英文读者请阅读 NIPS LearningSys pape
  • MxNet系列——get_started——windows_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Windows上安装 MXNet 在Windows上 xff0c 你可以直接下载和安装已经编译过的MXNet工具包 xff0c
  • MxNet系列——get_started——ubuntu_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Installing MXNet on Ubuntu MXNet现在支持的语言包括 xff1a Python R Julia
  • MxNet系列——get_started——docker_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 在Docker上运行MXNet Docker 是一个系统 xff0c 它允许你构建一个自包含的Linux操作系统 xff0c
  • MxNet系列——get_started——cloud_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 云上安装MXNet 你可以在类似于AWS的云上使用预编译的MXNet 更多细节 xff0c 请阅读下面的引文 使用 Amazo
  • MxNet系列——get_started——osx_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com OS X 上安装 MXNet 安装MXNet可以分为2步 xff1a 从MXNet的C 43 43 源代码构建共享库 安装MX
  • windows下架设cvs服务器的方法

    其实很简单 xff0c 只需要下载一个cvsnt 我下载的版本是2 0 46 xff0c 现在的最新版本应该到了2 0 51d cvsnt的配置very easy xff0c 选一个文件夹作为仓库就行了 如果希望在linux下面配置cvs服
  • MxNet系列——get_started——amazonlinux_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Installing MXNet on Ubuntu 对于 Amazon Linux 操作系统上的Python用户来说 xff
  • MxNet系列——get_started——setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 综述 你可以在Amazon Linux Ubuntu Debian OS X 和 Windows等操作系统上运行MXNet M
  • MxNet系列——community——contribute

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 对MXNet做贡献 MXNet是由一群活跃的社区成员开发和使用的 请对其贡献 xff0c 以改善它 当你的补丁被合并时 xff