diff --git a/config.yaml.in b/config.yaml.in index 500f549fb4..4dad0ecb58 100644 --- a/config.yaml.in +++ b/config.yaml.in @@ -12,7 +12,7 @@ markup: # Uncomment this to disable the translations for the specified languages. # This may be useful to be able to merge partial translations without deploying # them to numpy.org immediately. -disableLanguages: ["pt", "ja"] +disableLanguages: ["pt", "ja", "zh"] params: images: @@ -44,3 +44,11 @@ languages: contentDir: content/ja < content/ja/config.yaml > < content/ja/tabcontents.yaml > + + # Chinese + zh: + title: NumPy + weight: 3 + contentDir: content/zh + < content/zh/config.yaml > + < content/zh/tabcontents.yaml > diff --git a/content/zh/404.md b/content/zh/404.md new file mode 100644 index 0000000000..0f27a36ee9 --- /dev/null +++ b/content/zh/404.md @@ -0,0 +1,8 @@ +--- +title: 404 +sidebar: false +--- + +抱歉······ 目标网页并不存在。 + +如果您认为这个页面应该展示些什么东西,请在 GitHub 上面 [发起一个 issue](https://github.com/numpy/numpy.org/issues). diff --git a/content/zh/about.md b/content/zh/about.md new file mode 100644 index 0000000000..b5a993b104 --- /dev/null +++ b/content/zh/about.md @@ -0,0 +1,84 @@ +--- +title: 关于我们 +sidebar: false +--- + +_下面是 NumPy 项目和社区的一些信息:_ + +NumPy 是一个使 Python 支持数值计算的开源项目, 它诞生于 2005 年,早期由 Numeric 和 Numarray 库发展而来。 NumPy 将始终保证项目完整开源,所有人都可以根据 [修改后的 BSD 条款](https://github.com/numpy/numpy/blob/master/LICENSE.txt) 免费对其进行使用和分发。 + +经过 NumPy 和 Python 科学计算社区协商讨论,最终决定将 NumPy 在 GitHub 上开源。 想要了解更多与社区治理有关的信息,请参阅我们的[治理文件](https://www.numpy.org/devdocs/dev/governance/index.html)。 + + +## 指导委员会 + +指导委员会的成员们通过与 NumPy 社区合作并提供服务的形式来确保项目的长期发展,包括技术层面和社区层面。 NumPy 指导委员会目前由下列成员组成(按字母顺序排列): + +- Sebastian Berg +- Ralf Gommers +- Charles Harris +- Stephan Hoyer +- Melissa Weber Mendonça +- Inessa Pawson +- Matti Picus +- Stéfan van der Walt +- Eric Wieser + +荣誉会员: + +- Travis Oliphant(项目创始人,2005-2012年) +- Alex Griffing(2015-2017年) +- Marten van Kerkwijk (2017-2019年) +- Allan Haldane (2015-2021) +- Nathaniel Smith (2012-2021) +- Julian Taylor (2013-2021) +- Pauli Virtanen (2008-2021) +- Jaime Fernández del Río (2014-2021) + + +## 团队 + +NumPy 项目正在不断发展中,我们的团队成员负责: + +- 编码 +- 文档 +- 网站 +- 分类 +- 资金和赠款 + +查看[团队](/gallery/team.html)页面以了解每个独立团队的成员信息。 + +## NumFOCUS小组委员会 + +- Charles Harris +- Ralf Gommers +- Melissa Weber Mendonça +- Sebastian Berg +- 外部成员:Thomas Caswell + +## 赞助商 + +NumPy 直接从下列来源获得资金: +{{< sponsors >}} + + +## 机构合作伙伴 + +机构合作伙伴指那些通过雇用为 NumPy 做贡献的人来支持该项目的组织。 目前的机构伙伴包括: + +- UC Berkeley (Stefan van der Walt, Sebastian Berg, Ross Barnowski) +- Quansight(Ralf Gommers、Melissa Weber Mendonceda、Mars Lee、Matti Picus、Pearu Peterson) + +{{< partners >}} + + +## 捐赠 + +如果您发现 NumPy 对您的工作、研究或公司有用,请考虑向该项目发起捐款。 任何金额都有帮助! 所有捐款将严格用于 NumPy 开源软件、文档和社区的开发。 + +NumPy 是美国 501(c)(3) 非营利慈善机构 NumFOCUS 的一个赞助项目。 NumFOCUS 向 NumPy 提供财政、法律和行政支助,帮助确保该项目的健康和可持续性。 访问 [numfocus.org](https://numfocus.org) 获取更多信息。 + +对 NumPy 的捐赠将由 [NumFOCUS](https://numfocus.org) 进行管理。 对于在美国的捐赠者,在法律规定的范围内,你的赠品可以免税。 如同任何捐赠一样,您应该与您的税务顾问商讨您的特定税务状况。 + +NumPy 指导委员会将就如何最佳利用收到的任何资金作出决定。 技术和基础设施相关的优先事项已记录在 [NumPy 路线图](https://www.numpy.org/neps/index.html#roadmap) 上。 +{{< numfocus >}} diff --git a/content/zh/arraycomputing.md b/content/zh/arraycomputing.md new file mode 100644 index 0000000000..09dd3ab2fc --- /dev/null +++ b/content/zh/arraycomputing.md @@ -0,0 +1,21 @@ +--- +title: 数组计算 +sidebar: false +--- + +*数组计算是统计学、数学和当代数据科学及应用(如数据可视化、数字信号处理、图像处理、生物信息学、机器学习、AI等) 中的科学计算领域的基础。* + +大规模数据操作和转换取决于高效率高性能的数组计算。 数据分析、机器学习和数值计算首选的语言是 **Python**。 + +NumPy 是 Python 语言中支持大型、多维数组和矩阵计算、并附有大量高级数学功能的默认标准库。 + +自2006年NumPy推出以来,Pandas于2008年出现,直到几年前,更多数组计算库才连续出现,充实数组计算领域。 许多这些较新库都具有类似NumPy的功能,包含较新的算法和功能,适合机器学习和人工智能应用。 + +arraycl + +**数组计算** 基于 **数组** 这一数据结构。 *数组*用于处理大量数据,使他们便于有效存储、搜索、计算和变换。 + +数组计算是 *独特*的 ,因为它需要 *同时*操作整个数据阵列。 这意味着任何数组操作应用于整个数组的每个值。 这种向量化的方法使得程序员能够对数据进行整体操作,无需使用循环操作标量,从而使代码更高效和简洁。 diff --git a/content/zh/case-studies/blackhole-image.md b/content/zh/case-studies/blackhole-image.md new file mode 100644 index 0000000000..74efaf66ef --- /dev/null +++ b/content/zh/case-studies/blackhole-image.md @@ -0,0 +1,70 @@ +--- +title: "案例研究:人类有史以来首张黑洞照片" +sidebar: false +--- + +{{{< figure src="/images/content_images/cs/blackhole.jpg" caption="**Black Hole M87**" alt="black hole image" attr="*(Image Credits: Event Horizon Telesmall Collection Collaboration)*" attrlink="https://www.jpl.nasa.gov/images/universse/20190410/blackhole20190410.jpg" >}} + +
+

理论上黑洞不可能被“看见”,M87黑洞的成像正试图打破这种限制

+ +
+ +## 一架和地球大小相当的望远镜 + +[事件视界望远镜(EHT)](https://eventhorizontelescope.org) 是由八个地面射电望远镜组成的虚拟的类似地球大小的望远镜, 可以前所未有的敏感度和分辨率来了解宇宙。 这台巨大的虚拟望远镜使用一种称为超长基线干涉法 (VLBI)的技术, 其角分辨率为 [20 微弧秒][resolution] - EHT的分辨本领相当于从巴黎的一家人行道上的咖啡馆里阅读纽约的报纸! + +### 关键目标和成果 + +* **关于宇宙的新观点:** 100年前,当 [亚瑟.爱丁顿爵士][eddington] 提出爱因斯坦的广义相对论的第一个观测证据时,就为EHT的开创性形象奠定了基础. + +* **黑洞成像:** EHT 在距离地球约5500万光年的超大质量黑洞上进行了训练,该黑洞位于处女座星系团梅西埃87(M87) 的中心。 它的质量是太阳的65亿倍。 它已经被研究了 [100多年](https://www.jpl.nasa.gov/news/news.php?feature=7385),但从来没有一个黑洞被真正“看见”过。 + +* **将观察结果与理论进行比较:** 从爱因斯坦的广义相对论来看, 科学家期望找到由引力弯曲和光捕获引发的阴影状区域。 科学家可以用它来测量黑洞的巨大质量。 + +### 面临的挑战 + +* **庞大的计算规模** + + EHT带来了巨大的数据处理挑战,其中包括快速的大气层相位波动、极高的记录带宽以及相异且地理位置分散的望远镜。 + +* **巨大的信息量** + + EHT每天生成超过350TB的观测值,这些数据存储在充满氦气的硬盘驱动器中。 减少这么多数据的数量和复杂性是极其困难的。 + +* **对未知的探索** + + 当目标是看到前所未见的事物时,科学家怎么才能确定图像是正确的? + +{{< figure src="/images/content_images/cs/dataprocessbh.png" class="csfigcaption" caption="**EHT Data Processing Pipeline**" alt="data pipeline" align="middle" attr="(Diagram Credits: The Astrophysical Journal, Event Horizon Telesrole Collection Collaboration)" attrlink="https://iopscience.op.org/article/10.3847/2041-8213/ab0c57" >}} + +## NumPy的角色 + +如果数据有问题,怎么办? 或者一个算法过于依赖某个特定的假设。 如果单个参数被更改,图像是否会发生剧烈变化? + +EHT协作组织为了应对上述挑战,让不同的独立小组使用现有的最先进的图像重建技术来评估数据。 当结果被证明是一致时,将这些结果合并以产生黑洞的第一张图像。 + +他们的工作说明了Python科学生态系统通过协作数据分析在 推进科学方面发挥的重要作用。 + +{{< figure src="/images/content_images/cs/bh_numpy_role.png" class="fig-center" alt="role of numpy" caption="**NumPy在黑洞成像中的作用**" >}} + +例如, [`eht-imaging`][ehtim] 这个Python 软件包提供了 在 VLBI 数据上模拟和执行图像重建的工具。 NumPy 是这个包中使用的数组数据处理的核心,下面的部分软件 依赖关系图说明了这一点。 + +{{< figure src="/images/content_images/cs/ehtim_numpy.png" class="fig-center" alt="numpy在ehtim软件依赖关系中的地位" caption="**numpy在ehtim软件依赖关系中的重要地位**" >}} + +除了NumPy以外,许多其他软件包,例如 [SciPy](https://www.scipy.org) 和 [Pandas](https://pandas.io), 也是用于黑洞成像的数据处理管道的一部分。 标准天文学文件格式和时间/坐标转换 由 [Astropy][astropy]处理, 而 [Matplotlib][mpl] 被用于在整个分析管道中的数据可视化,包括生成黑洞的最终图像。 + +## 总结 + +作为NumPy的核心功能,高效且拓展性强的N维数组使研究人员能够操作大规模数据集,从而为人类有史以来首张黑洞的成像提供坚实基础。 这是整个科学史中具有里程碑意义的时刻,它为爱因斯坦的理论提供了有力的佐证。 这项成就不仅包括技术突破,还见证了包括200多位科学家与世界上最好的无线电观测站之间的国际合作。 创新的算法和数据处理技术改进了现有的天文模型,帮助我们揭开宇宙的神秘面纱。 + +{{< figure src="/images/content_images/cs/numpy_bh_benefits.png" class="fig-center" alt="numpy benefits" caption="**NumPy核心能力的运用**" >}} + +[resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole + +[eddington]: https://en.wikipedia.org/wiki/Eddington_experiment + +[ehtim]: https://github.com/achael/eht-imaging + +[astropy]: https://www.astropy.org/ +[mpl]: https://matplotlib.org/ diff --git a/content/zh/case-studies/cricket-analytics.md b/content/zh/case-studies/cricket-analytics.md new file mode 100644 index 0000000000..c978b5fbd0 --- /dev/null +++ b/content/zh/case-studies/cricket-analytics.md @@ -0,0 +1,68 @@ +--- +title: "案例研究:通过数据分析玩转板球!" +sidebar: false +--- + +{{< figure src="/images/content_images/cs/ipl-stadium.png" + caption="**IPLT20, 印度最大的板球节**" + alt="印度高级板球联赛体育场和冠军奖杯" + attr="*(图片来源:IPLT20 (奖杯和标志) & Akash Yadav(体育场))*" + attrlink="https://unsplash.com/@aksh1802" >}} + +
+

你不是为人群而战,而是为国家而战。

+ +
+ +## 关于板球 + +印度人喜欢板球几乎人尽皆知。 这个游戏几乎在印度的任何角落都可以玩,无论是农村还是城市,与其它任何运动项目相比,只有板球可以轻松连接印度的数十亿年轻人和老年人。 板球受到了媒体的广泛关注。 无数 [金钱](https://www.statista.com/topics/4543/indian-premier-league-ipl/) 和 荣誉都压宝在这项运动上。 在过去的几年中,数据技术分析确实成为了运动场上的常胜将军。 流媒体、锦标赛、在移动设备上实时的观看板球等形式让不同观众的观看欲望得到最大满足。 + +印度超级联赛(IPL) 是成立于2008年的Twenty20板球职业联赛。 它是世界上参与人数最多的板球赛事之一,2019年价值为 [67亿美元](https://en.wikipedia.org/wiki/Indian_Premier_League) 。 + +板球本质上是关于数字的游戏-击球方的跑动得分,投球手击中门柱的次数,板球队赢得回合的次数,击球手以特定方式还击的次数等等。 借助类似NumPy等功能强大的数值计算分析软件,可以充分挖掘板球得分背后的原理,并对板球的商业化、市场化和经济效益提供重要的参考价值。 板球数据分析为比赛提供了独特的视角,并提供了有关比赛结果的智能预测。 + +时至今日,板球比赛的记录和统计数据非常丰富,几乎无穷无尽。例如[ESPN cricinfo](https://stats.espncricinfo.com/ci/engine/stats/index.html) 和 [cricsheet](https://cricsheet.org)。 这些板球数据库使用最新的机器学习和预测建模算法来进行 [板球分析](https://www.researchgate.net/publication/336886516_Data_visualization_and_toss_related_analysis_of_IPL_teams_and_batsmen_performances)。 媒体和娱乐平台以及与游戏相关联的专业体育机构使用技术分析来确定关键指标,以提高比赛获胜机率: + +* 击球时跑动步数均值的表现 +* 分数预测 +* 深入了解球员在面对不同对手时的身体表现状况 +* 在团队组成的决策过程中考察球员对比赛输赢的贡献值 + +{{< figure src="/images/content_images/cs/cricket-pitch.png" class="csfigcaption" caption="**万众瞩目的板球场**" alt="板球赛场上投球手和击球手蓄势待发" align="middle" attr="*(Image credit: Debarghya Das)*" attrlink="http://debarghyadas.com/files/IPLpaper.pdf" >}} + +### 关键数据分析目标 + +* 运动数据分析不仅用于板球运动,还适用于 [其它运动](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) 中,以改善团队的整体表现并最大程度的提高获胜机会。 +* 实时数据分析甚至可以在比赛过程中帮助提高洞察力,从而使团队和相关投资方改变比赛策略以获取更高的经济效益。 +* 除了历史数据分析之外,预测模型也被使用来确定可能的比赛结果,这些结果需要大量的数值处理和数据科学专业知识, 可视化工具以及在分析中增加新观察项的能力。 + +{{< figure src="/images/content_images/cs/player-pose-estimator.png" class="fig-center" alt="post estimator" caption="**板球姿势预测**" tot="*(Image credit: connect.vin)*" attrlink="https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/" >}} + +### 面临的挑战 + +* **数据清理和预处理** + + IPL已经将板球运动从经典的测试赛扩展到更广的比赛形式。 每个赛季各种形式的比赛场次都有所增加,相应的数据规模、新算法、新的数据分析技术和模拟模型也有所增加。 板球数据分析需要对现场数据进行全方位跟踪,包括球员追踪、球的追踪、球员击球数据分析以及与如何传递球、球的角度、旋转、速度和轨迹有关的方面。 所有这些因素共同增加了数据清理和预处理的复杂性。 + +* **数据动态建模** + + 在板球运动中,就像任何其他体育运动一样,可能存在大量的变量,这些变量包括跟踪球场上各种球员的状态、球员的属性、球本身以及球员多种可能的潜在动作。 数据分析和建模的复杂性与分析过程中提出的预测问题的种类成正比,并且高度依赖数据表示和模型建模能力。 在要求实时动态的预测板球比赛的结果时,对计算性能、数据比对质量提出了更高的挑战,比如击球手以不同角度或速度击球对比赛结果会产生何种影响。 + +* **预测分析的复杂性** + + 板球比赛中的很多决定大都基于如下问题的答案:“针对特定类型的投球手,击球手特殊攻击的频率是多少”或者“如果击球手发动特殊攻击的话,投球手会如何改变他的投球位和投球距离”。 这些预测性分析的答案需要高精度且可用的数据集以及合成数据和构建高精度模型的能力。 + +## NumPy在板球数据分析中的角色 + +体育分析是一个蓬勃发展的领域。 除了使用最新的机器学习和AI技术之外,许多研究人员和公司[使用NumPy](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx)和其它Python数据处理包,例如Scikit-learn, SciPy, Matplotlib和Jupyter。 NumPy已用于各种与板球相关的体育分析中,例如: + +* **统计分析:** NumPy的数值计算功能有助于在各种球员和比赛策略下估算观察数据或比赛事件的统计意义,并通过与生成模型或静态模型进行比较来预测比赛结果。 [因果分析](https://amplitude.com/blog/2017/01/19/causation-correlation) 和 [大数据分析](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4996805/) 就常用于战术分析。 + +* **数据可视化:** 数据图形化和 [可视化](https://towardsdatascience.com/advanced-sports-visualization-with-pandas-matplotlib-and-seaborn-9c16df80a81b) 对各种数据集之间的关系提供了有价值的见解。 + +## 总结 + +在专业赛事中,特别是需要战略决策的比赛,运动数据分析常常能起到力挽狂澜的效果,哪怕是现在,主要还是依赖“勇气和直觉”或对过去传统的经验来完成分析。 NumPy为大量的 Python 软件包奠定了坚实的基础,这些软件包提供了与数据分析, 机器学习和AI算法相关的更高层级的函数。 这些软件包被广泛应用以获取实时赛况的分析,从而有助于在现场做出最有利于自己的决策,实现在板球比赛过程中的商业利益最大化。 找出影响板球比赛结果的隐藏参数、模式和属性,有助于投资方获得隐藏在数字和统计数据背后的比赛洞察力。 + +{{< figure src="/images/content_images/cs/numpy_ca_benefits.png" class="fig-center" alt="numpy benefits" caption="**NumPy核心能力的运用**" >}} diff --git a/content/zh/case-studies/deeplabcut-dnn.md b/content/zh/case-studies/deeplabcut-dnn.md new file mode 100644 index 0000000000..08bc86816b --- /dev/null +++ b/content/zh/case-studies/deeplabcut-dnn.md @@ -0,0 +1,96 @@ +--- +title: "案例研究:使用DeepLabCut预测动物行为" +sidebar: false +--- + +{{{< figure src="/images/content_images/cs/mice-hand.gif" class="fig-center" caption="**使用DeepLapCut**分析老鼠的手部姿势 " alt="micehandanim" attr="*(来源: www.deeplabcut.org)*" attrlink="http://www.mousemotorlab.org/deeplabcut">}} + +
+

开源软件正在加速生物医学的发展。 DeepLabCut能够使用深度学习对动物行为进行自动视频分析。

+ +
+ +## 关于 DeepLabCut + +[DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) 是一个开放源码工具箱,它使世界各地数以百计的研究人员能够在训练数据非常少的情况下跟踪实验室动物的行为,而且能达到人类水平的准确性。 借助DeepLabCut技术,科学家可以更深入更科学地了解不同动物在不同时间段对运动的控制和表现行为。 + +包括神经科学、医学和生物力学在内的若干研究领域都使用了跟踪动物运动的数据。 DeepLabCut通过解析电影上记录的动作,帮助了解人类和其他动物行为背后的内涵。 DeepLabCut将标记和监测的繁重工作自动化,同时进行基于神经网络的深度数据分析,使得涉及观察例如灵长类动物、小鼠、鱼类和苍蝇等动物行为的科学研究更快、更准确。 + +{{< figure src="/images/content_images/cs/race-horse.gif" class="fig-center" caption="**通过彩色标点跟踪赛马身体位置的变化**" alt="horserideranim" attr="*(资料来源:Mackenzie Mathis)*">}} + +对于生物力学、遗传学、人类学和神经科学等领域的科学研究来说,DeepLabCut通过非侵入式手段提取动物姿势至关重要。 无论从技术层面还是从庞大的资源需求和训练集来看,不带标记非侵入式的从视频中检测动物的姿势,预测动物在动态变化背景下的行为表现对计算机都极具挑战。 + +DeepLabCut使研究人员能够通过基于 Python 的软件工具包有效地估计该实验对象的姿势,使他们能够对实验对象的行为进行量化。 借助DeepLabCut,研究人员可以从视频中识别出不同的帧,并使用量身定制的GUI数字标记数十个帧中的特定身体部位,然后DeepLabCut中基于深度学习的姿势估计架构将学习如何从剩余视频或类似动物行为的视频中提取出相同的特征。 这种方法适用于各种动物,从常见的苍蝇和老鼠等实验室动物到不常见到的[猎豹][cheetah-movement]等动物。 + +DeepLabCut使用一种称为 [转移学习](https://arxiv.org/pdf/1909.11229)的原理,大大减少了所需训练数据的规模,并加快了训练周期的收敛速度。 根据不同需求,用户可以选择不同的网络结构来获得更高性能的推理模型(例如MobileNetV2),也可以将其与实时的实验反馈相结合。 DeepLabCut最初使用了一个名为[DeeperCut](https://arxiv.org/abs/1605.03170)的高性能人物姿势评估特征探测器, 这也是DeepLabCut这个名字的由来。 现在这套软件已经作了重大更新,包含支持更多架构、算子规模的扩大和全面的前端用户体验提升。 此外, 为了支持大规模生物实验,DeepLabCut提供了主动学习的能力,因此用户可以随着时间的推移增加训练集以覆盖边缘用例,并使他们的姿势估计算法在特定场景下变的更加强大。 + +最近,引入了 [DeepLabCut model zoo](http://www.mousemotorlab.org/dlc-modelzoo) ,它为不同物种和不同实验条件提供预训练的模型,从灵长类动物的面部分析到狗的姿势。 有了modelzoo之后,模型就可以在云端运行,而且不用给新数据贴上任何标签,也不需要神经网络训练,也不需要任何编程经验。 + +### 关键目标和成果 + +* **对动物行为进行自动化分析以供科学研究:** + + DeepLabCut技术的主要目标是在各种环境下测量和跟踪动物的姿势。 这些数据大有用处,比如可以用于神经科学研究以了解大脑是如何控制运动的,或者阐明动物是如何进行社交互动的。 研究人员观察到DeepLabCut的 [性能提升了10倍](https://www.biorxiv.org/content/10.1101/457242v1)。 可以在单机状态下以每秒1200多帧(FPS) 的速度推断出动物姿态。 + +* **创建一个易于使用的 Python 工具包用于姿态估计:** + + DeepLabCut想要以易于使用的工具的形式共享其动物姿态估计技术,使得研究人员可以轻松上手。 因此这个Python工具箱甚至包含有项目管理的功能。 通过帮助使用DeepLabCut工具集的用户打通从数据收集阶段到创建可共享可重用的数据分析流程,这样不仅实现了姿态估计的自动化,而且可以端到端的管理整个项目。 + + 他们的 [工具包][DLCToolkit] 现在已经完全开源了。 + + 典型的DeepLabCut 工作流包括: + + - 通过主动学习创建和完善训练集 + - 针对特定动物和场景创建量身定制的神经网络 + - 从视频中得到大规模推理所需的代码 + - 使用集成的可视化工具得出结论 + +{{{< figure src="/images/content_images/cs/deeplabcut-toolkit-steps.png" class="csfigcaption" caption="**DeepLabCut的姿态估计流程**" alt="dlcsteps" align="middle" attr="(来源: DeepLabCut)" attrlink="https://twitter.com/DeepLabCut/status/1198046918284210176/phot/1" >}} + +### 面临的挑战 + +* **性能** + + 在快速处理动物行为视频以测量其行为的同时提高科学实验的效率和精度。 无论从技术层面还是从庞大的资源需求和训练集来看,不带标记非侵入式的从视频中检测动物的姿势,预测动物在动态变化背景下的行为表现对计算性能都极具挑战。 需要提出一种易于使用的工具,但不依赖诸如计算机科学家的专业知识,也不需要在近乎真实的环境中进行研究,要达成这个目标不是一件容易的事儿。 + +* **组合学** + + 组合学涉及到将多个肢体的运动姿势组装并整合到单个动物的行为中去。 将关键姿态及其联系与个体动物不同时段的不同动作整合起来是一个复杂的过程,需要进行繁琐的数值分析,尤其是在实验视频中捕捉多个动物行为的情况下。 + +* **数据处理** + + 最后一点但是并非不重要的一点是对数组的处理-处理与各种图像、目标张量和关键点相对应的大型数组具有相当大的挑战性。 + +{{< figure src="/images/content_images/cs/pose-estimation.png" + class="csfigcaption" + caption="**姿势估计的复杂性和多样性**" + alt="pose estimator" + align="middle" + attr="(来源: Mackenzie Mathis)" + attrlink="https://www.biorxiv.org/content/10.1101/476531v1.full.pdf" >}} + +## NumPy在应对姿态估计挑战中的角色 + +NumPy 解决了DeepLabCut技术对行为分析进行高性能数值计算的核心需求。 除了NumPy, DeepLabCut 还使用 各种以 NumPy 为核心的 Python 软件, 例如 [SciPy](https://www.scipy.org), [Pandas](https://pandas.pydata.org), [matplotlib](https://matplotlib.org), [tensorpack](https://github.com/tensorpack/tensorpack), [imgig](https://github.com/aleju/imgaug), [sikit-learning](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org) 和 [Tensorflow](https://www.tensorflow.org) + +NumPy 的以下功能在图像处理、组合计算和高性能DeepLabCut 姿态预测算法等方面发挥了关键作用。 + +* 向量化 +* Mask数组操作 +* 线性代数 +* 随机采样 +* 大规模矩阵变形 + +DeepLabCut在工具包提供的整个工作流中都使用了NumPy 数组。 需要特别指出的是,为了方便手工注释标注,以及便于编写、编辑和处理这些标注,NumPy被广泛应用于对不同的图像帧进行采样。 DeepLabCut对TensorFlow中的神经网络进行了成千上万次迭代训练,以预测图像 帧中注释的准确性。 为了达成这个目标,需要创建一个目标分布图(得分地图) 将姿态预测问题投射为图像之间变换的问题。 采用数据增强技术可以让神经网络变的更健壮,这就需要对遵循各种几何和图像处理流程的目标积分图进行计算。 为了加快训练速度,NumPy 的向量化功能会被充分利用起来。 在推理阶段,目标积分图中最可能的预测结果会被提取出来,然后就可以有效地“将预测结果映射到某种具体的动物”。 + +{{< figure src="/images/content_images/cs/deeplabcut-workflow.png" class="fig-center" caption="**DeepLabCut工作流程**" alt="workflow" attr="*(资料来源:Mackenzie Mathis)*" attrlink="https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-lab-lab-the-lab-the-work-flow-as well-the-directory-and_fig1_329185962">}} + +## 总结 + +对行为进行精确的观测和高效的描述是现代伦理学、神经科学、医学和技术的核心内容。 [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) 让研究人员预测实验对象的行为成为可能,从而高效量化动物行为。 DeepLabCut Python工具箱仅需少量训练图像就可以将神经网络训练达到人类水平的标注准确性,因此它的应用范围绝不局限于实验室的行为分析,而且还可以拓展到运动、步态分析、医学和康复研究中。 通过操作NumPy数组,可以解决DeepLabCut算法面临的复杂组合计算和数据处理难题。 + +{{< figure src="/images/content_images/cs/numpy_dlc_benefits.png" class="fig-center" alt="NumPy benefits" caption="**NumPy核心能力的运用**" >}} + +[cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 + +[DLCToolkit]: https://github.com/DeepLabCut/DeepLabCut diff --git a/content/zh/case-studies/gw-discov.md b/content/zh/case-studies/gw-discov.md new file mode 100644 index 0000000000..7c256edf8e --- /dev/null +++ b/content/zh/case-studies/gw-discov.md @@ -0,0 +1,79 @@ +--- +title: "案例研究:发现引力波" +sidebar: false +--- + +{{< figure src="/images/content_images/cs/gw_sxs_image.png" class="fig-center" caption="**引力波**" alt="两个黑洞合并生成引力波纹" totel="*(图片来源:LIGO的极端时空模拟 (SXS) 项目)*" totlink="https://youtu. e/Zt8Z_uzG71o">}} + +
+

Python 科学生态系统是 LIGO 研究的关键基础设施。

+ +
+ +## 关于 [引力波](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) and [LIGO](https://www.ligo.caltech.edu) + +引力波是空间和时间结构中的涟漪。由宇宙中的灾难性事件产生,例如两个黑洞的碰撞和合并或双星或超新星的合并。 观测引力波不仅有助于研究引力,而且有助于了解遥远宇宙中一些不为人知的现象及其影响。 + +[激光干涉引力波天文台(LIGO)](https://www.ligo.caltech.edu)旨在通过直接探测爱因斯坦广义相对论预测的引力波来打开引力波天体物理学领域。 它由美国境内的两个相距甚远的干涉仪组成—一个位于华盛顿汉福德,另一个位于路易斯安那州利文斯顿—它们同时运行以探测引力波。 每一个仪器都装载使用了激光干涉测量法的公里级引力波探测器。 LIGO科学计算团队(LSC) 是由来自美国各地大学和其他 14 个国家的 1000 多名科学家组成的团体,得到了 90 多所大学和研究机构的支持;大约 250 名学生积极参与项目合作。 LIGO 的新发现是关于对引力波本身的首次观测,通过测量引力波在穿过地球时对空间和时间造成的微小扰动而制成。 它开辟了新的天体物理学研究方向,致力于探索宇宙扭曲的一面—研究由扭曲的时空构成的物体和现象。 + + +### 关键目标 + +* 虽然它的 [任务](https://www.ligo.caltech.edu/page/what-is-ligo) 是探测宇宙中反应最剧烈和能量最集中的区域产生的引力波,但 LIGO 收集的数据可能会对物理学的许多领域产生深远的影响,包括引力、相对论、天体物理学、宇宙学、粒子物理学和核物理。 +* 通过涉及复杂数学的数值相对论来计算和处理观测数据,以便从噪声中辨别信号、滤除相关信号并统计估计观测数据的重要性。 +* 数据可视化,以便可以理解二进制/数值结果。 + + + +### 面临的挑战 + +* **计算** + + 引力波很难被探测到,因为它们产生的影响非常小,与物质的相互作用也很小。 处理和分析 LIGO 的所有数据需要庞大的计算基础设施。在处理数十亿倍于引力波信号的噪声后,仍然需要使用非常复杂的相对论方程来处理海量数据,这带来了计算挑战: [二进制合并分析需要花费O(10^ 7) 级别的 CPU 小时数](https://youtu.be/7mcHknWWzNI)才能完成,这些计算过程由 6 个专用 LIGO 集群分摊解决。 + +* **数据泛滥** + + 随着观测设备变得更加敏感和可靠,数据泛滥和大海捞针所带来的挑战成倍增加。 LIGO 每天生成数 TB 的数据! 每一次检测之后要理解这些数据都要付出巨大的努力。 例如,LIGO 收集的信号必须由超级计算机与数十万个可能的引力波特征模板进行匹配。 + +* **可视化** + + 一旦解决了理解爱因斯坦方程以及使用超级计算机求解这些方程相关的障碍,下一个重大挑战就是使人脑能够理解数据。 仿真建模以及信号检测需要有效的可视化技术。 在纯科学爱好者的眼中,可视化在为数值相对论提供更多可信度方面也发挥了作用,在成像和模拟使更多人更容易理解结果之前,他们并没有对数值相对论给予足够的重视。 使用最新的实验输入和见解来加快复杂计算和渲染、重新渲染图像和模拟的速度可能是一项耗时的活动,给该领域的研究人员带来严峻挑战。 + +{{< figure src="/images/content_images/cs/gw_strain_amplitude.png" + class="fig-center" + alt="引力波应变幅值" + caption="**来自GW150914的估计引力波应变幅度**" + attr="(**图表来源:** 从二元黑洞合并中观察引力波,ResearchGate 出版物)" + attrlink="https://www. esearchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger" >}} + +## NumPy 在引力波检测中的作用 + +除了使用超级计算机暴力计算数值相对论之外,目前还无法使用任何其它技术计算黑洞合并发出的引力波。 LIGO 收集的数据量之大,就像无比微弱的引力波信号一样,令人难以置信。 + +NumPy 是 Python 的标准数值分析包,被用于 LIGO GW 检测项目期间执行的各种任务的软件所使用。 NumPy 有助于高性能处理复杂的数学问题和数据操作。 这里有一些例子: + +* [信号处理](https://www.uv.es/virgogroup/Denoising_ROF.html): 毛刺检测, [噪音识别和数据表征](https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf) (NumPy, scikit-learn, scipy, matplab, pandas, pyCharm) +* 数据检索:决定哪些数据可以用于分析,确定它是否包含信号—犹如大海捞针 +* 统计分析:估计观测数据的统计显著性,通过与模型比较来估计信号参数(如恒星质量、自旋速度和距离)。 +* 数据可视化 + - 时间序列 + - 频谱图 +* 计算相关性 +* 在GW 数据分析中开发的关键 [软件](https://github.com/lscsoft) 例如: [GwPy](https://gwpy.github.io/docs/stable/overview.html) 和 [PyCBC](https://pycbc.org) 使用 NumPy 和 AstroPy 为实用程序、工具和方法提供基于对象的接口,用于研究来自引力波探测器的数据。 + +{{< figure src="/images/content_images/cs/gwpy-numpy-dep-graph.png" + class="fig-center" alt="gwpy-numpy depgraph" + caption="**GwPy 包的软件依赖关系**" >}} + +---- + +{{< figure src="/images/content_images/cs/PyCBC-numpy-dep-graph.png" + class="fig-center" + alt="PyCBC-numpy depgraph" + caption="**PyCBC包的软件依赖关系图**" >}} + +## 总结 + +GW 探测使研究人员能够发现完全出乎意料的现象,同时为许多已知的最深刻的天体物理现象提供了新的见解。 数学运算和数据可视化是帮助科学家深入了解从科学观察中收集到的数据并理解结果的关键步骤。 计算是复杂的,除非使用计算机模拟进行可视化,并提供真实的观察数据和分析,否则人类无法理解。 NumPy 与其他 Python 包(例如 matplotlib、pandas 和 scikit-learn)一起[使研究人员](https://www.gw-openscience.org/events/GW150914/)能够回答复杂的问题并开拓我们理解宇宙的新视角。 + +{{< figure src="/images/content_images/cs/numpy_gw_benefits.png" class="fig-center" alt="numpy benefits" caption="**Numpy核心能力的应用**" >}} diff --git a/content/zh/citing-numpy.md b/content/zh/citing-numpy.md new file mode 100644 index 0000000000..1731e941cf --- /dev/null +++ b/content/zh/citing-numpy.md @@ -0,0 +1,35 @@ +--- +title: 引用 NumPy +sidebar: false +--- + +如果 NumPy 在您的研究中很重要, 您想在您的学术出版物中致谢这个项目,我们建议您引用以下论文: + +* Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [0.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([Publisher link](https://www.nature.com/articles/s41586-020-2649-2)). + +_BibTeX 格式:_ + + ``` +@Article{ harris2020array, + title = {Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} +``` diff --git a/content/zh/code-of-conduct.md b/content/zh/code-of-conduct.md new file mode 100644 index 0000000000..1d316dc7e2 --- /dev/null +++ b/content/zh/code-of-conduct.md @@ -0,0 +1,83 @@ +--- +title: NumPy 行为守则 +sidebar: false +aliases: + - /conduct.html +--- + +### 引言 + +本行为守则适用于 NumPy 项目管理的所有网络空间,包括所有公共和私人的邮件列表、问题追踪器、 维基、 博客、 推特以及本社区使用的任何其他交流频道。 NumPy 项目不组织面对面活动。 然而,与本社区有关的活动应有一个与本社区内涵上类似的行为守则。 + +本行为守则应由每个正式或非正式参加本社区的、与项目有关的、与项目的活动有关的、特别是在代表项目时的人来遵守。 + +该守则不详尽,也不完整。 它有助于提升我们对协作、共享环境和目标的共识。 请尽量从内涵上遵循这一守则,以创造一个友好、高效益的环境来丰富有关的社区。 + +### 具体准则 + +要努力去: + +1. 敞开心扉。 我们邀请任何人参加本社区。 我们更喜欢公开交流与项目有关的信息,除非讨论某些敏感问题时。 这也适用于帮助或项目支持的信息; 向公众寻求支持帮助不仅更有可能得到对某个问题的答复, 它还能确保更容易发现和纠正任何无意中的错误。 +2. 充满热情、欢迎、友善和耐心。 我们怀着美好的意愿共同努力解决冲突。 我们都可能时不时遭受某种挫折,但我们不允许把沮丧变成个人攻击的工具。 一个让人感到不舒服或受到威胁的社区并不是一个富有成效的社区。 +3. 保持合作。 我们的工作成果将被其他人使用,反过来,我们依靠其他人的工作来进行改进。 当我们在项目中添加一些有用的功能时,我们愿意向其他人解释它是如何运作的。 这样他们就能够在这些功能的基础上进一步改善工作效率。 我们作出的任何决定都将影响到用户和开发者,因此在作出决定时必须认真考虑后果。 +4. 勤于向人请教。 没人知道所有事! 提早提问可以避免很多麻烦的发生,所以我们鼓励提问,尽管我们可能把它们引向更合适的论坛中。 我们将努力做出反应并提供帮助。 +5. 谨慎用词 我们在沟通过程中保持谨慎和尊重,我们对自己的发言负有全部责任。 善待他人。 不要侮辱或贬低其他参与者。 我们不接受骚扰或其他排斥行为,例如: + * 针对他人的暴力威胁或语言。 + * 性别、种族主义或其他歧视性笑话和语言。 + * 露骨或粗暴的素材; + * 发布(或威胁发布)他人个人身份信息(“敲诈”)。 + * 未经发件人同意分享私人内容,例如私下发送电子邮件、或发送至非公开/未登录论坛,如IRC 频道。 + * 个人侮辱,尤其是使用种族主义或性别歧视术语的侮辱。 + * 不受欢迎的性关注。 + * 过于夸张。 请避免使用骂人的话;人们对咒骂的敏感度差异很大。 + * 对他人的反复骚扰。 一般来说,如果有人要求你停止,你就要停止了。 + * 鼓吹或鼓励上述任何行为。 + +### 多样性声明 + +NumPy项目欢迎并鼓励每个人参与。 我们致力于成为一个人人都参与的共同体。 虽然我们可能并不总是能够照顾到每个人的喜好,但我们尽力善待每一个人。 + +无论你如何看待自己,也无论其他人如何看待你:我们欢迎你的参与。 虽然社区文化不可能做到包罗万象,但我们明确尊重在年龄、文化、族裔、基因、性别认同或表达、语言、民族血统、神经型、表型、政治信仰、职业、种族、宗教、性取向、社会经济地位、亚文化和技术水平等方面的多样性,在不违反本行为守则的情况下,任何人都可以参与到社区中。 + +虽然我们欢迎精通多语种的人群,但NumPy的开发是用英语进行的。 + +上面的《行为守则》详细介绍了NumPy社区的行为标准。 我们社区的参与者应在其所有互动过程中遵守这些标准,并帮助其他参与者也这样做(见下一节)。 + +### 举报指南 + +我们知道,互联网通信平台从诞生开始就演变为非常普遍的辱骂恶意中伤的场所。 我们还认识到,有时人们可能会有不愉快的时候,或不知道本行为守则中的一些准则。 在决定如何应对违反本守则的行为时,请铭记这一点。 + +关于明显故意违反行为,向行为守则委员会报告(见下文)。 For possibly unintentional breaches, you may reply to the person and point out this code of conduct (either in public or in private, whatever is most appropriate). If you would prefer not to do that, please feel free to report to the Code of Conduct Committee directly, or ask the Committee for advice, in confidence. + +You can report issues to the NumPy Code of Conduct Committee at numpy-conduct@googlegroups.com. + +Currently, the Committee consists of: + +* Stefan van der Walt +* Melissa Weber Mendonça +* Anirudh Subramanian + +If your report involves any members of the Committee, or if they feel they have a conflict of interest in handling it, then they will recuse themselves from considering your report. Alternatively, if for any reason you feel uncomfortable making a report to the Committee, then you can also contact senior NumFOCUS staff at [conduct@numfocus.org](https://numfocus.org/code-of-conduct#persons-responsible). + +### Incident reporting resolution & Code of Conduct enforcement + +_This section summarizes the most important points, more details can be found in_ [NumPy Code of Conduct - How to follow up on a report](/report-handling-manual). + +We will investigate and respond to all complaints. The NumPy Code of Conduct Committee and the NumPy Steering Committee (if involved) will protect the identity of the reporter, and treat the content of complaints as confidential (unless the reporter agrees otherwise). + +In case of severe and obvious breaches, e.g. personal threat or violent, sexist or racist language, we will immediately disconnect the originator from NumPy communication channels; please see the manual for details. + +In cases not involving clear severe and obvious breaches of this Code of Conduct the process for acting on any received Code of Conduct violation report will be: + +1. acknowledge report is received, +2. reasonable discussion/feedback, +3. mediation (if feedback didn’t help, and only if both reporter and reportee agree to this), +4. enforcement via transparent decision (see [Resolutions](/report-handling-manual#resolutions)) by the Code of Conduct Committee. + +The Committee will respond to any report as soon as possible, and at most within 72 hours. + +### Endnotes + +We are thankful to the groups behind the following documents, from which we drew content and inspiration: + +- [The SciPy Code of Conduct](https://docs.scipy.org/doc/scipy/reference/dev/conduct/code_of_conduct.html) diff --git a/content/zh/community.md b/content/zh/community.md new file mode 100644 index 0000000000..8e3de71288 --- /dev/null +++ b/content/zh/community.md @@ -0,0 +1,65 @@ +--- +title: 社区 +sidebar: false +--- + +Numby是一个社区驱动的开源项目,由一群十分多样化的[贡献者](/gallery/team.html)开发。 NumPy的领导层承诺要打造一个开放,包容,积极向上的社区。 请阅读 [ NumPy 行为准则](/code-of-conduct) 以了解如何用促进社区繁荣的方式与他人交流互动。 + +我们提供多种交流渠道,可以用来学习知识、分享您的专业见解、或是与 NumPy 社区中的其他人联系。 + + +## 线上参与 + +以下是直接参与 NumPy 项目和社区的方法。 _注意,我们鼓励用户和社区成员在使用问题上相互帮助——参阅 [获取帮助](/gethelp)。_ + + +### [NumPy 邮件列表](https://mail.python.org/mailman/listinfo/numpy-discussion) + +这个列表是较长形式讨论的主要讨论区,例如将新功能添加到NumPy,更改NumPy 路线图或是各种项目级的决策。 同时也是NumPy的公告区,例如releases,开发者会议,Sprints 或是会议演讲也在这个列表中。 + +在这个列表上,请用包含引文回复的方式回复邮件列表(而不是另一个发送者),并且不要回复摘要。 这个列表提供了一个可检索的 [归档](http://numpy-discussion.10968.n7.nabble.com/)。 + +*** + +### [Github issue 追踪器](https://github.com/numpy/numpy/issues) + +- 报告bug (例如:"`np.arange(3).shop`本应该返回 `(3),`,却返回结果 `(5),`"); +- 文档问题 (例如:"我发现这一节没写清楚"); +- 特性请求 (例如:"我想在 `np.percentile` 中加一个新的插值方法")。 + +_注意,Github不是报告安全漏洞的正确位置! 如果你认为你在 NumPy 中找到了一个安全漏洞,请在 [这里](https://tidelift.com/docs/security) 报告。_ + +*** + +### [Slack](https://numpy-team.slack.com) + +一个用于询问有关为NumPy做 _贡献_ 的问题的实时聊天室。 这是一个私密空间,特别适用于那些在大型公共邮件列表或GitHub上提出他们的问题或想法时犹豫不决的人。 在 [这里](https://numpy.org/devdocs/dev/index.html#contributing-to-numpy) 获取更多详情以及如何才能受邀加入这个空间的方法。 + + +## 学习小组和 Meetups + +如果你想找一个用于了解NumPy以及更广泛的数据科学和科学计算python包生态的本地meetup或是学习小组,我们建议你探索一下[PyData meetups](https://www.meetup.com/pro/pydata/)(开展过150+次 meetups, 包含100,000+ 名成员)。 + +NumPy还偶尔为其团队和感兴趣的贡献者组织亲身Sprints。 这往往会提前几个月计划,并在[邮件列表](https://mail.python.org/mailman/listinfo/numpy-discussion)和[Twitter](https://twitter.com/numpy_team)上发布通知。 + + +## 会议 + +NumPy 项目不会组织自己的会议。 历来最受 NumPy 维护者、贡献者和用户欢迎的会议是SciPy 和 PyData 系列会议如下: + +- [SciPy US](https://conference.scipy.org) +- [EuroSciPy](https://www.euroscipy.org) +- [SciPy Latin America](https://www.scipyla.org) +- [SciPy India](https://scipy.in) +- [SciPy Japan](https://conference.scipy.org) +- [PyData conferences](https://pydata.org/event-schedule/) (分布在许多国家,每年有15-20个活动) + +这些会议大部分都包括一些教程日涵盖 NumPy 和/或 sprints ,您可以从中学习如何为NumPy 或相关的开源项目做贡献。 + + +## 加入 NumPy 社区 + +NumPy 项目的繁荣发展需要您的专业知识和热情。 不是coder? 没关系! 有许多方式可以为NumPy做贡献。 + +如果您有兴趣成为NumPy贡献者 (好耶!) ,建议查看 [贡献](/contribute) 页面。 + diff --git a/content/zh/config.yaml b/content/zh/config.yaml new file mode 100644 index 0000000000..82e8e75f83 --- /dev/null +++ b/content/zh/config.yaml @@ -0,0 +1,166 @@ +languageName: 英语 (Chinese) +params: + description: 为什么使用 NumPy?它有强大的高维数组、有数字计算工具、互可操作、高性能、开源。 + navbarlogo: + image: logos/numpy.svg + link: /zh/ + hero: + #Main hero title + title: NumPy + #Hero subtitle (optional) + subtitle: 使用 Python 进行科学计算的基本包 + #Button text + buttontext: 入门 + #Where the main hero button links to + buttonlink: "/zh/install" + #Hero image (from static/images/___) + image: logos/numpy.svg + #Customizable navbar. For a dropdown, add a "sublinks" list. + news: + title: 2021 NumPy survey + content: Your voice matters + url: /zh/news + shell: + title: 占位符 + promptlabel: interactive shell prompt + button: + - + label: Enables the interactive tutorial shell + text: Enable + shellcontent: + intro: + - + title: Try NumPy + text: Enable the interactive shell + loading: + - + title: While we wait... + text: Launching container on mybinder.org... + docslink: Don't forget to check out the docs. + casestudies: + title: CASE STUDIES + features: + - + title: 第一张黑洞图像 + text: NumPy 是怎么配合 SciPy 和 Matplotlib 等库来让事件视界望远镜(Eht)生成第一张黑洞图像的 + img: /images/content_images/case_studies/blackhole.png + alttext: 这是黑洞的第一张图像。它是黑色背景上衬着的一个橙色圆环。 + url: /zh/case-studies/blackhole-image + - + title: 引力波探测 + text: 在1916年,阿尔伯特·爱因斯坦预测了引力波的存在。100年后,激光干涉引力波天文台(LIGO)的科学家利用 NumPy 证明了引力波的存在。 + img: /images/content_images/case_studies/gravitional.png + alttext: 两个相互环绕的天体。它们改变了周围的引力。 + url: /zh/case-studies/gw-discov + - + title: 运动分析 + text: Cricket Analytics 正在通过统计模型和预测分析来改进队员的团队的表现,改变体育界。NumPy 让其中很多的分析成为了可能。 + img: /images/content_images/case_studies/sports.jpg + alttext: 绿色的赛场上的板球。 + url: /zh/case-studies/cricket-analytics + - + title: 使用深度学习进行估计 + text: DeepLabCut 使用 NumPy 来加速进行涉及观察动物行为的科学研究,以便跨物种和时间尺度推动研究发展。 + img: /images/content_images/case_studies/deeplabcut.png + alttext: Cheetah pose analysis + url: /zh/case-studies/deeplabcut-dnn + keyfeatures: + features: + - + title: 强大的高维数组 + text: Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. + - + title: 数字计算工具 + text: NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. + - + title: Interoperable + text: NumPy supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries. + - + title: Performant + text: The core of NumPy is well-optimized C code. Enjoy the flexibility of Python with the speed of compiled code. + - + title: Easy to use + text: NumPy's high level syntax makes it accessible and productive for programmers from any background or experience level. + - + title: Open source + text: Distributed under a liberal [BSD license](https://github.com/numpy/numpy/blob/master/LICENSE.txt), NumPy is developed and maintained [publicly on GitHub](https://github.com/numpy/numpy) by a vibrant, responsive, and diverse [community](/community). + tabs: + title: ECOSYSTEM + section5: false +navbar: + - + title: Install + url: /zh/install + - + title: Documentation + url: https://numpy.org/doc/stable + - + title: Learn + url: /zh/learn + - + title: Community + url: /zh/community + - + title: About Us + url: /zh/about + - + title: Contribute + url: /zh/contribute +footer: + logo: numpy.svg + socialmediatitle: "" + socialmedia: + - + link: https://github.com/numpy/numpy + icon: github + - + link: https://twitter.com/numpy_team + icon: twitter + quicklinks: + column1: + title: "" + links: + - + text: Install + link: /zh/install + - + text: Documentation + link: https://numpy.org/doc/stable + - + text: Learn + link: /zh/learn + - + text: Citing NumPy + link: /zh/citing-numpy + - + text: Roadmap + link: https://numpy.org/neps/roadmap.html + column2: + links: + - + text: About us + link: /zh/about + - + text: Community + link: /zh/community + - + text: Contribute + link: /zh/contribute + - + text: Code of conduct + link: /zh/code-of-conduct + column3: + links: + - + text: Get help + link: /zh/gethelp + - + text: Terms of use + link: /zh/terms + - + text: Privacy + link: /zh/privacy + - + text: Press kit + link: /press-kit + diff --git a/content/zh/contribute.md b/content/zh/contribute.md new file mode 100644 index 0000000000..abca9e70f4 --- /dev/null +++ b/content/zh/contribute.md @@ -0,0 +1,79 @@ +--- +title: NumPy贡献者指南 +sidebar: false +--- + +NumPy 项目的繁荣发展需要您的专业知识和热情! 您在社区能做的不仅限于编程 - 除了 + +- [写代码](#writing-code) + +你还可以 + +- [检视合并请求](#reviewing-pull-requests) +- [开发教程、演示文稿和其它教育材料](#developing-educational-materials) +- [对问题分类](#issue-triaging) +- [优化社区官网](#website-development) +- [贡献图形设计](#graphic-design) +- [翻译网站内容](#translating-website-content) +- [担任社区协调员](#community-coordination-and-outreach) +- [撰写捐款提案并帮助完成其他筹款活动](#fundraising) + +如果你不确定从哪里开始或你的技能如何匹配社区, _向我们求助吧!_ 您可以在 [邮件列表](https://mail.python.org/mailman/listinfo/numpy-discussion) 或[GitHub](http://github.com/numpy/numpy) (打开一个[issue](https://github.com/numpy/numpy/issues) 或评论相关的问题)。 + +这些是我们的首选联系渠道(开源的本质是开放),但如果您更喜欢私下交流,请通过 或 [Slack](https://numpy-team.slack.com)联系我们的社区协调员(发送邮件至以获得邀请) + +我们还有一个双周的 _社区电话例会_,详细信息会在[邮件列表 ](https://mail.python.org/mailman/listinfo/numpy-discussion)中公布。 非常欢迎您的加入。 如果您刚开始为开源做贡献,我们也强烈建议您阅读[本指南](https://opensource.guide/how-to-contribute/) + +我们的社区渴望平等对待每个人并重视所有贡献。 我们有一套 [行为准则 ](/code-of-conduct)来营造一个开放和热情的环境。 + +### 编写代码 + +面向程序员, 此[指南](https://numpy.org/devdocs/dev/index.html#development-process-summary)解释如何为代码库做出贡献。 + +### 审核其他人提交的 merge request +本项目有超过250个开放的合入请求 — 这意味着许多潜在的改进和许多等待反馈的开源贡献者。 如果您是一位了解 NumPy 的开发人员,即使您不熟悉代码库,也可以提供帮助。 您可以: +* 对长时间讨论的话题进行总结 +* 对文档的PR进行分类 +* 对做出的修改进行测试 + + +### 开发教材 + +NumPy的 [用户指南](https://numpy.org/devdocs) 正在进行整改。 我们需要新的教程、入门指南和深入细致的解释,并且官网结构也需要重新组织。 贡献机会也不限于编写教材。 我们也欢迎使用示例、学习笔记和教学视频。 [NEP 44 — 重构NumPy文档](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html)列出了我们目前的想法,您可能还有其他想法。 + + +### 问题分类 + +[NumPy的问题跟踪器 ](https://github.com/numpy/numpy/issues)有 _很多_未关闭的问题。 有些问题不再合理范围,有些问题应该优先考虑,有些是新贡献者带来的好问题。 您可以: + +* 检查之前的问题是否仍然存在 +* 找出重复出现的问题并将其关联起来 +* 为问题添加清晰的可复现代码 +* 为问题添加正确的标签(这需要分类权限 - 发邮件咨询即可获取) + +只管尽情探索吧。 + + +### 网站开发 + +我们刚刚更新了我们的网站,但离完成还有很长的距离。 如果您喜欢网站开发,这些[问题](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign)列出了一些我们尚未满足的需求 -- 请随时分享您的想法。 + + +### 平面设计 + +我们几乎无法开始列出平面设计师可以在这里做出的贡献。 社区文档为了准确生动的描述而生;日益成长壮大的网站迫切需要大量的平面设计图片-这里的机会比比皆是。 + + +### 翻译网站内容 + +我们计划对 [numpy.org](https://numpy.org) 进行多语种翻译,让用户可以用他们的母语访问 NumPy。 翻译志愿者是这项工作的核心。 请参阅[此处](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n)了解翻译背景; 对此 [GitHub问题](https://github.com/numpy/numpy.org/issues/55) 发表评论以加入到翻译队伍中. + + +### 社区协调和宣传 + +通过社区我们可以更广泛地分享我们的工作,并了解我们的不足之处。 我们渴望让更多的人参与进来,比如关注我们的[Twitter](https://twitter.com/numpy_team) 帐户、组织NumPy [代码比赛](https://scisprints.github.io/)、时事通讯以及博客宣传中。 + +### 筹款活动 + +NumPy 多年来一直都是靠志愿者发展起来的,但随着其重要性的增加,很明显,为了确保稳定和成长,我们需要经济上的支持。 [这个SciPy'19 演讲](https://www.youtube.com/watch?v=dBTJD_FDVjU) 解释了这种支持产生了多大的不同。 与所有非营利组织一样,我们一直在寻求捐款、赞助和其他类型的支持。 我们有很多想法,当然我们欢迎大家提供更多意见。 筹款在这里是一项稀缺技能 - 我们迫切需要您的帮助。 + diff --git a/content/zh/diversity_sep2020.md b/content/zh/diversity_sep2020.md new file mode 100644 index 0000000000..ef3030d5f7 --- /dev/null +++ b/content/zh/diversity_sep2020.md @@ -0,0 +1,48 @@ +--- +title: NumPy Diversity and Inclusion Statement +sidebar: false +--- + + +_In light of the foregoing discussion on social media after publication of the NumPy paper in Nature and the concerns raised about the state of diversity and inclusion on the NumPy team, we would like to issue the following statement:_ + + +It is our strong belief that we are at our best, as a team and community, when we are inclusive and equitable. Being an international team from the onset, we recognize the value of collaborating with individuals from diverse backgrounds and expertise. A culture where everyone is welcomed, supported, and valued is at the core of the NumPy project. + +## The Past + +Contributing to open source has always been a pastime in which most historically marginalized groups, especially women, faced more obstacles to participate due to a number of societal constraints and expectations. Open source has a severe diversity gap that is well documented (see, e.g., the [2017 GitHub Open Source Survey](https://opensourcesurvey.org/2017/) and [this blog post](https://medium.com/tech-diversity-files/if-you-think-women-in-tech-is-just-a-pipeline-problem-you-haven-t-been-paying-attention-cb7a2073b996)). + +Since its inception and until 2018, NumPy was maintained by a handful of volunteers often working nights and weekends outside of their day jobs. At any one time, the number of active core developers, the ones doing most of the heavy lifting as well as code review and integration of contributions from the community, was in the range of 4 to 8. The project didn't have a roadmap or mechanism for directing resources, being driven by individual efforts to work on what seemed needed. The authors on the NumPy paper are the individuals who made the most significant and sustained contributions to the project over a period of 15 years (2005 - 2019). The lack of diversity on this author list is a reflection of the formative years of the Python and SciPy ecosystems. + +2018 has marked an important milestone in the history of the NumPy project. Receiving funding from The Gordon and Betty Moore Foundation and Alfred P. Sloan Foundation allowed us to provide full-time employment for two software engineers with years of experience contributing to the Python ecosystem. Those efforts brought NumPy to a much healthier technical state. + +This funding also created space for NumPy maintainers to focus on project governance, community development, and outreach to underrepresented groups. [The diversity statement](https://figshare.com/articles/online_resource/Diversity_and_Inclusion_Statement_NumPy_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/12980852) written in mid 2019 for the CZI EOSS program grant application details some of the challenges as well as the advances in our efforts to bring in more diverse talent to the NumPy team. + +## The Present + +Offering employment opportunities is an effective way to attract and retain diverse talent in OSS. Therefore, we used two-thirds of our second grant that became available in Dec 2019 to employ Melissa Weber Mendonça and Mars Lee. + +As a result of several initiatives aimed at community development and engagement led by Inessa Pawson and Ralf Gommers, the NumPy project has received a number of valuable contributions from women and other underrepresented groups in open source in 2020: + +- Melissa Weber Mendonça gained commit rights, is maintaining numpy.f2py and is leading the documentation team, +- Shaloo Shalini created all case studies on numpy.org, +- Mars Lee contributed web design and led our accessibility improvements work, +- Isabela Presedo-Floyd designed our new logo, +- Stephanie Mendoza, Xiayoi Deng, Deji Suolang, and Mame Fatou Thiam designed and fielded the first NumPy user survey, +- Yuki Dunn, Dayane Machado, Mahfuza Humayra Mohona, Sumera Priyadarsini, Shaloo Shalini, and Kriti Singh (former Outreachy intern) helped the survey team to reach out to non-English speaking NumPy users and developers by translating the questionnaire into their native languages, +- Sayed Adel, Raghuveer Devulapalli, and Chunlin Fang are driving the work on SIMD optimizations in the core of NumPy. + +While we still have much more work to do, the NumPy team is starting to look much more representative of our user base. And we can assure you that the next NumPy paper will certainly have a more diverse group of authors. + +## The Future + +We are fully committed to fostering inclusion and diversity on our team and in our community, and to do our part in building a more just and equitable future. + +We are open to dialogue and welcome every opportunity to connect with organizations representing and supporting women and minorities in tech and science. We are ready to listen, learn, and support. + +Please get in touch with us on [our mailing list](https://scipy.org/scipylib/mailing-lists.html#mailing-lists), [GitHub](https://github.com/numpy/numpy/issues), [Slack](https://numpy.org/contribute/), in private at numpy-team@googlegroups.com, or join our [bi-weekly community meeting](https://hackmd.io/76o-IxCjQX2mOXO_wwkcpg). + + +_Sayed Adel, Sebastian Berg, Raghuveer Devulapalli, Chunlin Fang, Ralf Gommers, Allan Haldane, Stephan Hoyer, Mars Lee, Melissa Weber Mendonça, Jarrod Millman, Inessa Pawson, Matti Picus, Nathaniel Smith, Julian Taylor, Pauli Virtanen, Stéfan van der Walt, Eric Wieser, on behalf of the NumPy team_ + diff --git a/content/zh/gethelp.md b/content/zh/gethelp.md new file mode 100644 index 0000000000..810fd4e95d --- /dev/null +++ b/content/zh/gethelp.md @@ -0,0 +1,34 @@ +--- +title: 获取帮助 +sidebar: false +--- + +**用户问题:** 获得帮助的最佳方法是将您的问题发布到[StackOverflow](http://stackoverflow.com/questions/tagged/numpy)这样的有数以千计用户可以回答的网站上。 更轻量的备选方案包括 [IRC](https://webchat.freenode.net/?channels=%23numpy), [Gitter](https://gitter.im/numpy/numpy), 和 [Reddit](https://www.reddit.com/r/Numpy/)。 我们也希望我们能够关注这些站点的动向或者直接回答问题,但数量实在是太多了! + +**开发问题:** 与 NumPy 开发有关的事项(例如bug报告),请看 [社区](/community)。 + + + +### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) + +是一个询问使用问题的论坛,例如"我如何在 NumPy 中执行 X 操作?” 请 [使用 `#numpy` 标签](https://stackoverflow.com/help/tagging) + +*** + +### [Reddit](https://www.reddit.com/r/Numpy/) + +另一个询问使用问题的论坛。 + +*** + +### [Gitter](https://gitter.im/numpy/numpy) + +一个用户和社区成员相互帮助的实时聊天室。 + +*** + +### [IRC](https://webchat.freenode.net/?channels=%23numpy) + +另一个用户和社区成员相互帮助的实时聊天室。 + +*** diff --git a/content/zh/history.md b/content/zh/history.md new file mode 100644 index 0000000000..06f18149a1 --- /dev/null +++ b/content/zh/history.md @@ -0,0 +1,21 @@ +--- +title: NumPy的历史 +sidebar: false +--- + +NumPy 是一个提供数组数据结构和相关快速数值计算程序的基础 Python 库。 一开始,这个库并没有多少资金,主要由研究生撰写,并且其中许多人没有接受过计算机科学教育。也常常得不到他们顾问的支持。 很难想象,这样一小群三流学生编程者能够颠覆具有数百万资金和高级工程师支持的成熟研究软件生态。 然而,事实证明,从长远来看,完全开放工具栈背后的哲学依据加上兴奋、友好、专注的社区是更好的。 现在,世界各地的科学家、工程师和许多其他专业人员都依赖于NumPy。 例如,已发表的用于引力波分析的脚本导入了NumPy,M87黑洞成像项目直接引用了NumPy。 + +有关NumPy和相关库发展里程碑的详细说明,请参见[arxiv.org](arxiv.org/abs/1907.10121)。 + +如果您想要获得数字和数组库的原始副本,请点击下面的链接: + +[*Numeric* 下载页](https://sourceforge.net/projects/numpy/files/Old%20Numeric/)* + +[ *Numarray* 下载页 ](https://sourceforge.net/projects/numpy/files/Old%20Numarray/)* + +*请注意,这些旧的数组包不再维护,强烈建议用户将NumPy用于任何与数组相关的目的,或重构早期代码以利用NumPy库。 + +### 历史文档 + +[下载 *"Numeric"* 手册](static/numeric-manual.pdf) + diff --git a/content/zh/install.md b/content/zh/install.md new file mode 100644 index 0000000000..eca8df885e --- /dev/null +++ b/content/zh/install.md @@ -0,0 +1,143 @@ +--- +title: 安装NumPy +sidebar: false +--- + +安装 NumPy 的唯一前提条件是安装了 Python 。 如果您还没有Python,并且想以最简单的方式开始, 我们建议您使用[Anaconda Distribution](https://www.anaconda.com/distribution) - 它包括 Python, NumPy,以及许多其他常用的科学计算和数据科学软件包。 + +NumPy 可以使用 `conda` 安装,用 `pip` 安装, 在macOS 和Linux用软件包管理器安装或用[源码安装](https://numpy.org/devdocs/user/building.html)。 更详细的说明,查阅下方的 [ Python和NumPy安装指南 ](#python-numpy-install-guide)。 + +**CONDA** + +如果您使用 `conda`,您可以从 `defaults` 或 `conda-forge` 频道安装 NumPy + +```bash +# 最佳练习 使用环境而不是在基础环境中安装 +conda create -n my-env +conda activer my-env + +# 如果你想从conda-forge频道安装 +conda config --env --add channel conda-full + +# 实际的安装命令 +conda install numpy +``` + +**PIP** + +如果您使用 `pip`,您可以用如下命令安装NumPy: + +```bash +pip install numpy +``` +另外,当使用 pip 时,最好使用虚拟环境。查看 [Rupuable Installs](#reproducible-installs) 了解原因。 查看 [指南](https://dev.to/bowmanjd/python-tools-for-managing-virtual-environments-3bko#howto) 了解关于使用虚拟环境的详情。 + + + +# Python 和 NumPy 安装指南 + +在 Python 上安装和管理软件包很复杂,大部分工作任务都有许多可选择的解决方案。 本指南试图给读者一种最佳(或最受欢迎) 解决方案,并给出清晰的建议。 它侧重于在通用操作系统和硬件上使用Python、NumPy和PyData (或数学计算) 这些技术栈的用户。 + +## 建议 + +我们将首先根据用户的经验水平和有兴趣的操作系统提出建议。 如果您在“开始”和“高级”之间纠结,我们建议,如果您想简单点请使用"开始",如果您想按长期最佳实践去做,请看"高级"。 + +### 开始用户 + +在所有Windows、 macOS和Linux上: + +- 安装 [Anaconda](https://www.anaconda.com/distribution/) (包含了您需要的所有软件包以及下面提到的所有其他工具)。 +- 编写和执行代码,使用[JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) 的notebooks 用于探索式和交互式计算, 使用 [Spyder](https://www.spyder-ide.org/) 或 [Visual Studio Code](https://code.visualstudio.com/) 编写脚本和软件包。 +- 用 [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/) 管理你的软件包并启动JupyterLab, Spyder或Visual Studio Code. + + +### 高级用户 + +#### Windows 或 macOS + +- 安装 [Miniconda](https://docs.conda.io/en/latest/miniconda.html)。 +- 保持 `base` conda 环境最小化, 并使用一个或多个[conda 环境](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#) 用于安装你需要的包以完成你正在做的任务或项目。 +- 除非你只需要 `defaults` 频道的包, 否则请通过 [设置频道优先级](https://conda-forge.org/docs/user/introduction.html#how-can-i-install-packages-from-conda-forge) 将 `conda-forge` 设为您的默认频道 + + +#### Linux + +如果您觉得稍旧点的库还不错,并且相比于使用最新版本的库更喜欢稳定性: +- 尽可能使用您操作系统自带的包管理器进行管理(python本身、NumPy和其他库)。 +- 使用 `pip install somepackage --user` 安装来包管理器未提供的包。 + +如果您使用GPU: +- 安装 [Miniconda](https://docs.conda.io/en/latest/miniconda.html)。 +- 保持 `base` conda 环境最小化, 并使用一个或多个[conda 环境](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#) 用于安装你需要的包以完成你正在做的任务或项目。 +- 使用 `defaults` conda 频道 (`conda-forge` 尚不支持 GPU 软件包)。 + +否则: +- 安装[Miniforge](https://github.com/conda-forge/miniforge). +- 保持 `base` conda 环境最小化, 并使用一个或多个[conda 环境](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#) 用于安装你需要的包以完成你正在做的任务或项目。 + + +#### 如果您更喜欢pip/pyPI + +对出于个人喜好或看完下面 conda 和 pip之间的主要差异后更喜欢基于 pip/PyPI 的解决方案的用户,我们建议: +- 从 [python.org](https://www.python.org/downloads/), [Homebrew](https://brew.sh/)或 Linux 软件包管理器安装 Python。 +- 使用 [Poetry](https://python-poetry.org/) ,它是具有与conda 相似的依赖解析器和环境管理能力的完善工具。 + + +## Python 软件包管理 + +软件包管理是一个具有挑战性的问题,因此有许多的工具出现。 对于Web和一般Python开发有一整套能与pip互补的[工具](https://packaging.python.org/guides/tool-recommendations/)。 对于高性能计算 (HPC),[Spack](https://github.com/spack/spack) 值得考虑。 但对于大多数NumPy用户来说, [conda](https://conda.io/en/latest/) 和 [pip](https://pip.pypa.io/en/stable/) 是两个最受欢迎的工具。 + + +### Pip & conda + +安装 Python 软件包的两个主要工具是 `pip` and `conda`。 他们的功能部分重叠(例如两者都可以安装 `numpy`),但他们也可以一起工作。 我们将在这里讨论 pip 与 conda 的主要差异——这对于理解如何有效地管理软件包非常重要。 + +第一点不同是conda是跨语言的,它可以安装 Python,然而 pip 安装在您的系统的特定的 Python 之上, 并只为那一个特定的Python安装其他的软件包。 这也意味着conda 可以安装非Python 库和其他您可能需要的工具(例如编译器、CUDA、HDF5),pip则不行。 + +第二个不同是 pip 以Python包索引(PyPI) 作为安装源。 而conda从自己的渠道安装(通常是"defaults"或 "conda-forge")。 PyPI 是迄今为止最大的软件包集合,不过所有流行的软件包也可用于 conda。 + +第三个不同点,conda是依赖关系、环境和软件包管理的集成解决方案。而 pip 可能需要其他工具 (很多!) 用于处理环境或复杂的依赖关系。 + + +### 可复现安装 + +随着库的更新,代码的运行结果可能会改变,甚至您的代码完全跑不起来。 能重建你使用的对应版本软件包集合就很重要了。 最佳做法如下: + +1. 为你的每一个项目构建不同的环境 +2. 用软件包管理器记录软件包名称和版本; 每个包管理器都有自己的元数据格式: + - Conda: [conda environments and environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#) + - Pip: [virtual environments ](https://docs.python.org/3/tutorial/venv.html) and [requirements.txt](https://pip.readthedocs.io/en/latest/user_guide/#requirements-files) + - Poetry: [virtual environments and pyproject.toml](https://python-poetry.org/docs/basic-usage/) + + + +## NumPy包 & 快速线性代数库 + +NumPy 不依赖任何其他Python 包。 不过它依赖于一个快速线性代数库 - 通常是[Intel MKL](https://software.intel.com/en-us/mkl) 或 [OpenBLAS](https://www.openblas.net/)。 用户不必担心要如何安装那些库 (他们会自动包含在所有NumPy 的安装脚本中)。 高级用户可能仍然想知道详细信息,因为使用 BLAS 会影响磁盘的性能、行为和空间: + +- 用pip安装的 NumPy,线性代数库是 OpenBLAS。 OpenBLAS 库包含在NumPy的轮子中。 这让轮子变得更大,而且如果用户安装了 (假设) SciPy,他们现在会在磁盘上有两份OpenBLAS 副本。 + +- 在 conda 的默认频道中,NumPy 是用 Intel MKL 构建的。 MKL 是个单独的软件包,在安装NumPy时会将它安装到用户环境中。 + +- 在 conda-forge 通道中,NumPy 是用虚构的“BLAS”软件包构建的。 当用户从conda-forge安装NumPy时,BLAS 软件包就会与实际库一起安装 - 默认是OpenBLAS ,不过它也可以是 MKL (默认频道),乃至是[BLIS](https://github.com/flame/blis) 或reference BLAS(Netlib的参考实现版本)。 + +- MKL包比OpenBLAS大得多,它在磁盘上有大约700MB,而OpenBLAS 大约30MB。 + +- MKL通常比OpenBLAS更快,更强大。 + +除了安装大小、性能和强大性能外,还有两个东西需要考虑: + +- Intel MKL不开源。 对于正常使用,这倒不是一个问题。 但如果用户需要重新发布基于 NumPy 构建的应用程序。这可能是个问题。 +- MKL 和 OpenBLAS 都将使用多线程进行函数调用,如`np.dot`,而线程数量同时由构建时间选项和一个环境变量决定。 通常所有的CPU核心都能用上。 这有时并不是用户期望的;NumPy本身并不进行任何自动并行函数调用。 多线程通常能产生更好的性能,但也可能降低性能――例如,当使用 Dask、scikit-learn 或 multiprocessing 的另一个并行化等级时。 + + +## 故障排查 + +如果您的安装失败并显示如下信息,请参阅 [故障排查 ImportError](https://numpy.org/doc/stable/user/troubleshooting-importerror.html)。 + +``` +IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! + +Importing the numpy c-extensions failed. This error can happen for different reasons, often due to issues with your setup. +``` + diff --git a/content/zh/learn.md b/content/zh/learn.md new file mode 100644 index 0000000000..79955e4727 --- /dev/null +++ b/content/zh/learn.md @@ -0,0 +1,90 @@ +--- +title: 学习指南 +sidebar: false +--- + +有关 **官方NumPy文档**,请访问 [numpy.org/doc/stable](https://numpy.org/doc/stable)。 + +## NumPy入门教程 + +您可以在[NumPy教程](https://numpy.org/numpy-tutorials)中找到 NumPy 社区的一套教程和教材。 本页面的目标是通过 NumPy 项目以 Jupyter Notebooks 的格式提供高质量的资源,用于自学和教学课程。 如果您有兴趣添加自己的内容,请查看 GitHub上的 [numpy-tutorials项目](https://github.com/numpy/numpy-tutorials) 。 + +*** + +以下是精选的外部资源合集。 要做出贡献,请参阅 [本页末尾](#add-to-this-list)。 + +## 初学者 + +外部有大量关于 NumPy 的信息。 如果您是新手,我们强烈推荐学习这些资源: + + **教程** + +* [NumPy 快速入门教程](https://numpy.org/devdocs/user/quickstart.html) +* [NumPy图解: *Lev Maximov编写的*NumPy可视化指南](https://betterprogramming.pub/3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) +* [SciPy 讲座](https://scipy-lectures.org/) 除了涵盖NumPy之外,这些讲座还对Python科学生态系统提供了更广泛的介绍。 +* [NumPy:初学者的必读基础课](https://numpy.org/devdocs/user/absolute_beginners.html) +* [机器学习之家-ndarray简介](https://www.machinelearningplus.com/python/numpy-tutorial-part1-array-python-examples/) +* [Edureka - 通过示例学习 NumPy 数组 ](https://www.edureka.co/blog/python-numpy-tutorial/) +* [Dataquek - NumPy 教程:使用 Python 进行数据分析](https://www.dataquest.io/blog/numpy-tutorial-python/) +* [*Nicolas Rougier的*NumPy 教程](https://github.com/rougier/numpy-tutorial) +* [*由 Justin Johnson 编写的*斯坦福 CS231。](http://cs231n.github.io/python-numpy-tutorial/) +* [NumPy用户指南](https://numpy.org/devdocs) + + **图书** + +* [Travis E. Oliphant的*NumPy 指南*](http://web.mit.edu/dvp/Public/numpybook.pdf),这是从2006年开始的免费版本。 最新的副本 (2015) 请参见 [此处](https://www.barnesandnoble.com/w/guide-to-numpy-travis-e-oliphant-phd/1122853007)。 +* [*Nicolas P. Rougier的*从 Python 到 NumPy](https://www.labri.fr/perso/nrougier/from-python-to-numpy/) +* *由 Juan Nunez-Iglesias, Stefan van der Walt, and Harriet Dashnow编写的*[优雅的SciPy](https://www.amazon.com/Elegant-SciPy-Art-Scientific-Python/dp/1491922877) + +您也可能想要查看有关“Python+SciPy”主题的 [Goodreads列表](https://www.goodreads.com/shelf/show/python-scipy) 。 那里的大部分书籍都是有关以NumPy为核心构建起来的“SciPy生态系统”。 + + **视频** + +* *由Alex Chabot-Leclerc制作的*[NumPy数值计算导论](http://youtu.be/ZB7BZMhfPgk) + +*** + +## 进阶资源 + +学习这些进阶资源以更好地理解 NumPy 概念,例如高级索引、拆分、堆叠、线性代数等。 + + **教程** + +* *Nicolas P. Rougier的*[100 NumPy练习题](http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html) +* * M. Scott Shell的*[NumPy 和 Scipy 介绍](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) +* *Stéfan van der Walt的*[NumPy Medkits](http://mentat.za.net/numpy/numpy_advanced_slides/) +* [Python 中的 NumPy(进阶)](https://www.geeksforgeeks.org/numpy-python-set-2-advanced/) +* [高级索引](https://www.tutorialspoint.com/numpy/numpy_advanced_indexing.htm) +* [使用NumPy进行机器学习和数据分析](https://www.machinelearningplus.com/python/numpy-tutorial-python-part2/) + + **图书** + +* *Jake Vanderplas编写的*[Python 数据科学手册](https://www.amazon.com/Python-Data-Science-Handbook-Essential/dp/1491912057) +* *Wes McKinney的*[Python数据分析](https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1491957662) +* *Robert Johansson的*[数值Python: 使用 NumPy、SciPy 和 Matplotlib 进行科学计算和数据科学应用](https://www.amazon.com/Numerical-Python-Scientific-Applications-Matplotlib/dp/1484242459) + + **视频** + +* *Juan Nunez-Iglesias的*[NumPy进阶 - 广播机制、步幅和高级索引](https://www.youtube.com/watch?v=cYugp9IN1-Q) +* *AMuls Academy的*[在 NumPy 数组中的高级索引操作](https://www.youtube.com/watch?v=2WTDrSkQBng) + +*** + +## NumPy演讲 + +* *Jaime Fernadez的*[NumPy索引的未来](https://www.youtube.com/watch?v=o0EacbIbf58) (2016) +* *Ralf Gommers的*[Python数组计算的演变史](https://www.youtube.com/watch?v=HVLPJnvInzM&t=10s) (2019) +* *Matti Picus的*[NumPy:什么已经改变,什么将要改变?](https://www.youtube.com/watch?v=YFLVQFjRmPY) (2019) +* *Ralf Gommers, Sebastian Berg, Matti Picus, Tyler Reddy, Stefan van der Walt, Charles Harris谈谈*[NumPy揭秘](https://www.youtube.com/watch?v=dBTJD_FDVjU) (2019) +* *Travis Oliphant的* [ Python 数组计算概述](https://www.youtube.com/watch?v=f176j2g2eNc) (2019) + +*** + +## 引用 NumPy + +如果NumPy在您的研究中具有重要意义,您希望在您的学术出版物中向该项目致谢。 请参阅 [此引用信息](/citing-numpy)。 + +## 为本页面的资源列表做出贡献 + + +若要添加资源到本页面,请[通过提交合并请求](https://github.com/numpy/numpy.org/blob/master/content/en/learn.md) 来提交建议 。 需要详细说明为什么您的推荐值得在此页面上被提及,以及哪些受众最受益。 diff --git a/content/zh/news.md b/content/zh/news.md new file mode 100644 index 0000000000..f34d274990 --- /dev/null +++ b/content/zh/news.md @@ -0,0 +1,118 @@ +--- +title: 社区快讯 +sidebar: false +--- + +### 2021 NumPy survey + +_July 12, 2021_ -- At NumPy, we believe in the power of our community. 1,236 NumPy users from 75 countries participated in our inaugural survey last year. The survey findings gave us a very good understanding of what we should focus on for the next 12 months. + +It’s time for another survey, and we are counting on you once again. It will take about 15 minutes of your time. Besides English, the survey questionnaire is available in 8 additional languages: Bangla, French, Hindi, Japanese, Mandarin, Portuguese, Russian, and Spanish. + +Follow the link to get started: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSl4q. + + +### NumPy 1.21.0 release + +_Jun 23, 2021_ -- [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) is now available. The highlights of the release are: + +- continued SIMD work covering more functions and platforms, +- initial work on the new dtype infrastructure and casting, +- universal2 wheels for Python 3.8 and Python 3.9 on Mac, +- improved documentation, +- improved annotations, +- new `PCG64DXSM` bitgenerator for random numbers. + +This NumPy release is the result of 581 merged pull requests contributed by 175 people. The Python versions supported for this release are 3.7-3.9, support for Python 3.10 will be added after Python 3.10 is released. + + +### 2020 NumPy survey results + +_Jun 22, 2021_ -- In 2020, the NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results here: https://numpy.org/user-survey-2020/. + + +### NumPy 1.20.0 release + +_Jan 30, 2021_ -- [NumPy 1.20.0](https://numpy.org/doc/stable/release/1.20.0-notes.html) is now available. This is the largest NumPy release to date, thanks to 180+ contributors. The two most exciting new features are: +- Type annotations for large parts of NumPy, and a new `numpy.typing` submodule containing `ArrayLike` and `DtypeLike` aliases that users and downstream libraries can use when adding type annotations in their own code. +- Multi-platform SIMD compiler optimizations, with support for x86 (SSE, AVX), ARM64 (Neon), and PowerPC (VSX) instructions. This yielded significant performance improvements for many functions (examples: [sin/cos](https://github.com/numpy/numpy/pull/17587), [einsum](https://github.com/numpy/numpy/pull/18194)). + +### Diversity in the NumPy project + +_Sep 20, 2020_ -- We wrote a [statement on the state of, and discussion on social media around, diversity and inclusion in the NumPy project](/diversity_sep2020). + + +### First official NumPy paper published in Nature! + +_Sep 16, 2020_ -- We are pleased to announce the publication of [the first official paper on NumPy](https://www.nature.com/articles/s41586-020-2649-2) as a review article in Nature. This comes 14 years after the release of NumPy 1.0. The paper covers applications and fundamental concepts of array programming, the rich scientific Python ecosystem built on top of NumPy, and the recently added array protocols to facilitate interoperability with external array and tensor libraries like CuPy, Dask, and JAX. + + +### Python 3.9 is coming, when will NumPy release binary wheels? + +_Sept 14, 2020_ -- Python 3.9 will be released in a few weeks. If you are an early adopter of Python versions, you may be dissapointed to find that NumPy (and other binary packages like SciPy) will not have binary wheels ready on the day of the release. It is a major effort to adapt the build infrastructure to a new Python version and it typically takes a few weeks for the packages to appear on PyPI and conda-forge. In preparation for this event, please make sure to +- update your `pip` to version 20.1 at least to support `manylinux2010` and `manylinux2014` +- use [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary) or `--only-binary=:all:` to prevent `pip` from trying to build from source. + + +### NumPy 1.19.2 release + +_Sep 10, 2020_ -- [NumPy 1.19.2](https://numpy.org/devdocs/release/1.19.2-notes.html) is now available. This latest release in the 1.19 series fixes several bugs, prepares for the [upcoming Cython 3.x release](http://docs.cython.org/en/latest/src/changes.html) and pins setuptools to keep distutils working while upstream modifications are ongoing. The aarch64 wheels are built with the latest manylinux2014 release that fixes the problem of differing page sizes used by different linux distros. + +### The inaugural NumPy survey is live! + +_Jul 2, 2020_ -- This survey is meant to guide and set priorities for decision-making about the development of NumPy as software and as a community. The survey is available in 8 additional languages besides English: Bangla, Hindi, Japanese, Mandarin, Portuguese, Russian, Spanish and French. + +Please help us make NumPy better and take the survey [here](https://umdsurvey.umd.edu/jfe/form/SV_8bJrXjbhXf7saAl). + + +### NumPy has a new logo! + +_Jun 24, 2020_ -- NumPy now has a new logo: + +NumPy logo + +The logo is a modern take on the old one, with a cleaner design. Thanks to Isabela Presedo-Floyd for designing the new logo, as well as to Travis Vaught for the old logo that served us well for 15+ years. + + +### NumPy 1.19.0 release + +_Jun 20, 2020_ -- NumPy 1.19.0 is now available. This is the first release without Python 2 support, hence it was a "clean-up release". The minimum supported Python version is now Python 3.6. An important new feature is that the random number generation infrastructure that was introduced in NumPy 1.17.0 is now accessible from Cython. + + +### Season of Docs acceptance + +_May 11, 2020_ -- NumPy has been accepted as one of the mentor organizations for the Google Season of Docs program. We are excited about the opportunity to work with a technical writer to improve NumPy's documentation once again! For more details, please see [the official Season of Docs site](https://developers.google.com/season-of-docs/) and our [ideas page](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas). + + +### NumPy 1.18.0 release + +_Dec 22, 2019_ -- NumPy 1.18.0 is now available. After the major changes in 1.17.0, this is a consolidation release. It is the last minor release that will support Python 3.5. Highlights of the release includes the addition of basic infrastructure for linking with 64-bit BLAS and LAPACK libraries, and a new C-API for `numpy.random`. + +Please see the [release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0) for more details. + + +### NumPy receives a grant from the Chan Zuckerberg Initiative + +_Nov 15, 2019_ -- We are pleased to announce that NumPy and OpenBLAS, one of NumPy's key dependencies, have received a joint grant for $195,000 from the Chan Zuckerberg Initiative through their [Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/) that supports software maintenance, growth, development, and community engagement for open source tools critical to science. + +This grant will be used to ramp up the efforts in improving NumPy documentation, website redesign, and community development to better serve our large and rapidly growing user base, and ensure the long-term sustainability of the project. While the OpenBLAS team will focus on addressing sets of key technical issues, in particular thread-safety, AVX-512, and thread-local storage (TLS) issues, as well as algorithmic improvements in ReLAPACK (Recursive LAPACK) on which OpenBLAS depends. + +More details on our proposed initiatives and deliverables can be found in the [full grant proposal](https://figshare.com/articles/Proposal_NumPy_OpenBLAS_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/10302167). The work is scheduled to start on Dec 1st, 2019 and continue for the next 12 months. + + +## 版本发布 + +Here is a list of NumPy releases, with links to release notes. Bugfix releases (only the `z` changes in the `x.y.z` version number) have no new features; minor releases (the `y` increases) do. + +- NumPy 1.21.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _22 Jun 2021_. +- NumPy 1.20.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _10 May 2021_. +- NumPy 1.20.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _30 Jan 2021_. +- NumPy 1.19.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _5 Jan 2021_. +- NumPy 1.19.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _20 Jun 2020_. +- NumPy 1.18.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.4)) -- _3 May 2020_. +- NumPy 1.17.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.5)) -- _1 Jan 2020_. +- NumPy 1.18.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0)) -- _22 Dec 2019_. +- NumPy 1.17.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.0)) -- _26 Jul 2019_. +- NumPy 1.16.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.0)) -- _14 Jan 2019_. +- NumPy 1.15.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _23 Jul 2018_. +- NumPy 1.14.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.0)) -- _7 Jan 2018_. diff --git a/content/zh/press-kit.md b/content/zh/press-kit.md new file mode 100644 index 0000000000..500a14e46b --- /dev/null +++ b/content/zh/press-kit.md @@ -0,0 +1,8 @@ +--- +title: 宣传材料 +sidebar: false +--- + +我们希望能让您在下一篇学术论文、课程材料或演示文稿中轻松地加入NumPy项目标识。 + +您可以在[这里](https://github.com/numpy/numpy/tree/master/branding/logo)找到一些高分辨率的 NumPy logo。 注意,使用 numpy.org 资源意味着你接受 [NumPy 行为准则](/code-of-conduct)。 diff --git a/content/zh/privacy.md b/content/zh/privacy.md new file mode 100644 index 0000000000..ef0dfe8c96 --- /dev/null +++ b/content/zh/privacy.md @@ -0,0 +1,8 @@ +--- +title: 隐私政策 +sidebar: false +--- + +**numpy.org** 由NumPy 项目的财政赞助者 [NumFOCUS, Inc.](https://numfocus.org)运营。 关于本网站的隐私政策,请访问 https://numfocus.org/privacy-policy。 + +如果您对隐私政策或NumFOCUS的数据收集、使用和披露做法有任何疑问,请通过privacy@numfocus.org联系NumFOCUS工作人员。 diff --git a/content/zh/report-handling-manual.md b/content/zh/report-handling-manual.md new file mode 100644 index 0000000000..25297f8a09 --- /dev/null +++ b/content/zh/report-handling-manual.md @@ -0,0 +1,95 @@ +--- +title: NumPy行为准则应知应会 +sidebar: false +--- + +这是NumPy行为准则委员会的指导手册。 它保证我们对问题做出一致且公正的回应。 + +[行为守则](/code-of-conduct) 的执行影响到我们的社区现在和未来。 我们很重视它。 在审查执行措施时,行为准则委员会将牢记以下价值观和准则: + +* 人性化方式运作而非不近人情。 委员会会让各方了解情况,同时尊重举报者的隐私和任何必要的保密性。 然而,仍然存在着这种情况。 有时有必要与一个或多个人直接沟通:委员会的目标是改善我们社区的健康状况,而不仅仅是作出正式决定。 +* 强调对个人遭遇的同情,而不是一味批评行为,避免出现“好”和“坏/邪恶”的二元对立标签。 我们将坚定地处理公开、明显的挑衅和骚扰问题。 但许多可能被证明具有挑战性的情形是有些正常的分歧会转化为多方无助或有害的行为。 了解整个背景并找到一条使所有人都能重新参与进来的道路是困难的,但最终对我们社区最有成效。 +* 我们都知道,电子邮件是一个孤立的、沟通困难的媒介。 在没有个人联系方式的情况下收到匿名举报邮件,可能特别令人痛苦。 这使得保持一种尊重他人意见的开放气氛变得特别重要。 这还意味着我们的所有行为必须公开透明。 我们将竭尽全力确保我们所有成员得到公平和同情的待遇。 +* 歧视可能是微妙且不负责任的。 它在一定程度上表现出不公平和敌意的态度,而不是正常的互动。 我们知道这种情况确实发生了,我们将仔细寻找并应对这种情况。 如果你觉得受到了不公平的待遇,我们非常希望听到你们的声音, 我们将利用这些流程确保你的申诉得到关注和处理。 +* 帮助增加良性讨论的实践:想方设法识别出讨论可能已经产生歧义和偏斜的地方。 并提供可实施的信息、方向和资源,以便在这些方面产生积极的影响。 +* 重点关注新成员的需求:向他们提供明确的支持和关心, 目的是增加代表人数不足的群体的参与度。 +* 每个人都拥有不同的文化背景和语言习惯。 尽可能识别对非英文为母语的参与者造成的任何不必要的误解,并帮助他们了解这一问题以及作出哪些改变以避免造成冒犯。 用一门外语进行复杂的讨论可能非常具有威胁性,我们希望在不同民族和不同文化之间扩大我们的多样性。 + + +## 调解 + +自愿非正式调解是一种好的调解方式。 在两个或多个当事方都已升级到不适当行为程度的情况下(可悲的是在人类冲突中很常见), 促进调解进程可能是有益的。 这只是一个例子:委员会在任何情况下都可以考虑调解。 考虑到这一进程完全是自愿的,任何一方都不能被迫参与。 如果委员会建议进行调解,它应当: + +* 找到一个可以担任调解员的候选人。 +* 取得举报者的同意。 举报者完全可以自由地拒绝调解或提出一名候补调解人。 +* 取得被举报人的同意。 +* 调解人的问题:各方可以提出不同于推荐候选人的调解人, 只有就所有条件达成共同协议,该进程才能向前推进。 +* 最好在两周内确定完成调解的时间计划表。 + +调解人将与所有参与方接触,寻求各方都满意的解决办法。 在调解完成后,调解方将向委员会提交一份书面报告(经调解过程中所有各方审查通过),并就今后的实施细则提出建议。 然后委员会将评估调解结果(无论是否达成了令人满意的解决方案),并对必要的额外的调解动作作出决定。 + + +## 委员会将如何对举报作出回应 + +当委员会(或委员会成员) 收到举报时, 他们将首先要确定该报告是否涉及明显和严重的违约行为(定义见下文)。 如果确认属实,需要立即采取行动并启动常规的举报调解流程。 + + +## 明确和严重的违约行为 + +我们知道,互联网通信平台从诞生开始就演变为非常普遍的辱骂恶意中伤的场所。 我们将迅速处理明显和严重的侵权行为,如人身威胁、暴力、性别歧视或种族主义语言。 + +如果行为守则委员会的一名成员发现明显和严重的违反行为,他们将采取下列行动: + +* 立即断开始作俑者与所有NumPy 通信频道的连接。 +* 告知举报者,他们的报告已经收到,被举报人已经断开和NumPy的联系。 +* 在每种情况下,调解人都应作出努力与被举报人联系。 并明确的告诉他们,他们的语言或行动是如何构成“明显和严重的违反行为”的。 调解人还应指出,如果被举报人认为这是不公平的,或者他们想要重新和NumPy取得联系, 他们有权要求行为守则委员会进行下面描述的审查。 调解人应将这一审查结果报送给行为守则委员会。 +* 行为守则委员会将正式审查和签署所有适用这一行为的案件,以确保其不被用来进行普通程度争执的仲裁。 + + +## 举报处理 + +当报告送交委员会时,他们将立即答复报告人以确认收到。 这种答复必须在72小时内完成,委员会会尽最大努力比这更快一些。 + +如果报告没有提供足够多的资料,委员会将在采取行动之前获得所有相关数据。 委员有权代表指导委员会与任何相关个体联系,以更完整地了解事件的来龙去脉。 + +委员会随后将审查这一事件,并尽力确定如下事项: + +* 发生了什么。 +* 这一事件是否违反《行为守则》。 +* 谁是责任方。 +* 这种情况是否正在发生,而且对个人的人身安全产生了威胁。 + +这种信息将以书面形式收集,只要有可能,委员会的任何相关动作都将记录并保存(比如聊天记录、电子邮件讨论、会议录音、语音对话总结等)。 + +必须保留委员会所有活动的档案,以确保行为上的一致性,并为项目提供机构记忆。 为了协助这方面的工作, 本委员会的默认沟通渠道将是一份私人邮件列表,供委员会现有和未来成员以及指导委员会成员在提出正当要求时查阅。 如果委员会认为有必要使用列表外的沟通方式(例如: 早期/快速响应的电话呼叫),在所有情况下都应该及时将沟通方式收敛到列表中,以便有一个良好的过程记录。 + +行为守则委员会应争取在两周内商定一项决议。 如果在那个时候无法确定某项决议, 委员会将向报告者提供最新情况和预计的决议时间表。 + + +## 解决方案 + +委员会必须以协商一致方式商定一项决议。 如果该小组在一个多星期内无法达成共识和陷入僵局,该小组将把问题提交给指导委员会解决。 + +可能的应对措施包括: + +* 不采取进一步行动: + - 如果确定没有发生侵犯行为; + - 如果问题在委员会审议答复时已经公开解决了。 +* 协商自愿调解:如果所有有关各方同意,委员会可促进上面详述的调解进程。 +* 公开提醒并指出某些行为/行动/语言被认为是不恰当的,在目前情况下发生的合理性说明, 或者只能伤害特定人群,要求社区进行自我调整。 +* 委员会对有关个体进行私下训诫。 在这种情况下,小组主席将通过电子邮件向个人发出谴责,并抄送小组成员。 +* 公开谴责。 在这种情况下,委员会主席将在实际可行的限度内在同一地点对侵权行为进行申斥。 例如,在原始邮件列表中进行邮件控诉, 有可能被控诉对象未参与到聊天室的讨论中,虽然可以通过其他方式联系到。 该群组可以选择在别处发布控诉消息作为文档备份。 +* 要求公开或私下道歉, 假定举报者同意这一想法:他们可酌情拒绝与侵权者进一步接触。 委员会主席将传递这一请求。 委员会可按其意愿对这项要求附加“严格”条件:该群组可能要求侵权者道歉,以便在邮件列表中保留一个会员资格。 +* 委员会要求个人暂时停止社区参与的“相互商定的间歇”。 如果个人选择不自愿暂停,委员会可发布“强制性冷却期”。 +* 永远或暂时禁止参与NumPy (如邮件列表、gitter.im等等)。 工作组将保存所有这类禁令的记录,以便今后对其进行审查或备案。 + +一旦商定了一项决议,在该决议颁布之前, 委员会将与原报告人和任何其他受影响的各方进行联系,并解释拟议的决议。 委员会将询问这项决议是否可以接受,并且必须将反馈意见记录在案。 + +最后,委员会将向NumPy指导委员会进行汇报(也将向NumPy核心小组以诸如禁令的例行事件形式汇报)。 + +委员会绝不公开讨论这个问题。 所有公开声明将由行为守则委员会主席或NumPy指导委员会作出。 + + +## 利益冲突 + +如果出现利益冲突,委员会成员必须立即通知其他成员,必要时需要回避。 diff --git a/content/zh/tabcontents.yaml b/content/zh/tabcontents.yaml new file mode 100644 index 0000000000..3406204ce4 --- /dev/null +++ b/content/zh/tabcontents.yaml @@ -0,0 +1,189 @@ +machinelearning: + paras: + - para1: NumPy forms the basis of powerful machine learning libraries like [scikit-learn](https://scikit-learn.org) and [SciPy](https://www.scipy.org). As machine learning grows, so does the list of libraries built on NumPy. [TensorFlow’s](https://www.tensorflow.org) deep learning capabilities have broad applications — among them speech and image recognition, text-based applications, time-series analysis, and video detection. [PyTorch](https://pytorch.org), another deep learning library, is popular among researchers in computer vision and natural language processing. [MXNet](https://github.com/apache/incubator-mxnet) is another AI package, providing blueprints and templates for deep learning. + para2: Statistical techniques called [ensemble](https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205) methods such as binning, bagging, stacking, and boosting are among the ML algorithms implemented by tools such as [XGBoost](https://github.com/dmlc/xgboost), [LightGBM](https://lightgbm.readthedocs.io/en/latest/), and [CatBoost](https://catboost.ai) — one of the fastest inference engines. [Yellowbrick](https://www.scikit-yb.org/en/latest/) and [Eli5](https://eli5.readthedocs.io/en/latest/) offer machine learning visualizations. + +arraylibraries: + intro: + - text: NumPy's API is the starting point when libraries are written to exploit innovative hardware, create specialized array types, or add capabilities beyond what NumPy provides. + + headers: + - text: Array Library + - text: Capabilities & Application areas + + libraries: + - title: Dask + text: Distributed arrays and advanced parallelism for analytics, enabling performance at scale. + img: /images/content_images/arlib/dask.png + alttext: Dask + url: https://dask.org/ + - title: CuPy + text: NumPy-compatible array library for GPU-accelerated computing with Python. + img: /images/content_images/arlib/cupy.png + alttext: CuPy + url: https://cupy.chainer.org + - title: JAX + text: "Composable transformations of NumPy programs differentiate: vectorize, just-in-time compilation to GPU/TPU." + img: /images/content_images/arlib/jax_logo_250px.png + alttext: JAX + url: https://github.com/google/jax + - title: Xarray + text: Labeled, indexed multi-dimensional arrays for advanced analytics and visualization + img: /images/content_images/arlib/xarray.png + alttext: xarray + url: https://xarray.pydata.org/en/stable/index.html + - title: Sparse + text: NumPy-compatible sparse array library that integrates with Dask and SciPy's sparse linear algebra. + img: /images/content_images/arlib/sparse.png + alttext: sparse + url: https://sparse.pydata.org/en/latest/ + - title: PyTorch + text: Deep learning framework that accelerates the path from research prototyping to production deployment. + img: /images/content_images/arlib/pytorch-logo-dark.svg + alttext: PyTorch + url: https://pytorch.org/ + - title: TensorFlow + text: An end-to-end platform for machine learning to easily build and deploy ML powered applications. + img: /images/content_images/arlib/tensorflow-logo.svg + alttext: TensorFlow + url: https://www.tensorflow.org + - title: MXNet + text: Deep learning framework suited for flexible research prototyping and production. + img: /images/content_images/arlib/mxnet_logo.png + alttext: MXNet + url: https://mxnet.apache.org/ + - title: Arrow + text: A cross-language development platform for columnar in-memory data and analytics. + img: /images/content_images/arlib/arrow.png + alttext: arrow + url: https://github.com/apache/arrow + - title: xtensor + text: Multi-dimensional arrays with broadcasting and lazy computing for numerical analysis. + img: /images/content_images/arlib/xtensor.png + alttext: xtensor + url: https://github.com/xtensor-stack/xtensor-python + - title: XND + text: Develop libraries for array computing, recreating NumPy's foundational concepts. + img: /images/content_images/arlib/xnd.png + alttext: xnd + url: https://xnd.io + - title: uarray + text: Python backend system that decouples API from implementation; unumpy provides a NumPy API. + img: /images/content_images/arlib/uarray.png + alttext: uarray + url: https://uarray.org/en/latest/ + - title: tensorly + text: Tensor learning, algebra and backends to seamlessly use NumPy, MXNet, PyTorch, TensorFlow or CuPy. + img: /images/content_images/arlib/tensorly.png + alttext: tensorly + url: http://tensorly.org/stable/home.html + +scientificdomains: + intro: + - text: Nearly every scientist working in Python draws on the power of NumPy. + - text: "NumPy brings the computational power of languages like C and Fortran to Python, a language much easier to learn and use. With this power comes simplicity: a solution in NumPy is often clear and elegant." + + librariesrow1: + - title: Quantum Computing + alttext: A computer chip. + img: /images/content_images/sc_dom_img/quantum_computing.svg + - title: Statistical Computing + alttext: A line graph with the line moving up. + img: /images/content_images/sc_dom_img/statistical_computing.svg + - title: Signal Processing + alttext: A bar chart with positive and negative values. + img: /images/content_images/sc_dom_img/signal_processing.svg + - title: Image Processing + alttext: An photograph of the mountains. + img: /images/content_images/sc_dom_img/image_processing.svg + - title: Graphs and Networks + alttext: A simple graph. + img: /images/content_images/sc_dom_img/sd6.svg + - title: Astronomy Processes + alttext: A telescope. + img: /images/content_images/sc_dom_img/astronomy_processes.svg + - title: Cognitive Psychology + alttext: A human head with gears. + img: /images/content_images/sc_dom_img/cognitive_psychology.svg + + librariesrow2: + - title: Bioinformatics + alttext: A strand of DNA. + img: /images/content_images/sc_dom_img/bioinformatics.svg + - title: Bayesian Inference + alttext: A graph with a bell-shaped curve. + img: /images/content_images/sc_dom_img/bayesian_inference.svg + - title: Mathematical Analysis + alttext: Four mathematical symbols. + img: /images/content_images/sc_dom_img/mathematical_analysis.svg + - title: Chemistry + alttext: A test tube. + img: /images/content_images/sc_dom_img/chemistry.svg + - title: Geoscience + alttext: The Earth. + img: /images/content_images/sc_dom_img/geoscience.svg + - title: Geographic Processing + alttext: A map. + img: /images/content_images/sc_dom_img/GIS.svg + - title: Architecture & Engineering + alttext: A microprocessor development board. + img: /images/content_images/sc_dom_img/robotics.svg + +datascience: + + intro: "NumPy lies at the core of a rich ecosystem of data science libraries. A typical exploratory data science workflow might look like:" + + image1: + - img: /images/content_images/ds-landscape.png + alttext: Diagram of Python Libraries. The five catagories are 'Extract, Transform, Load', 'Data Exploration', 'Data Modeling', 'Data Evaluation' and 'Data Presentation'. + + image2: + - img: /images/content_images/data-science.png + alttext: Diagram of three overlapping circle. The circles labeled 'Mathematics', 'Computer Science' and 'Domain Expertise'. In the middle of the diagram, which has the three circles overlapping it, is an area labeled 'Data Science'. + + examples: + - text: "Extract, Transform, Load: [Pandas](https://pandas.pydata.org),[ Intake](https://intake.readthedocs.io),[PyJanitor](https://pyjanitor.readthedocs.io/)" + - text: "Exploratory analysis: [Jupyter](https://jupyter.org),[Seaborn](https://seaborn.pydata.org),[ Matplotlib](https://matplotlib.org),[ Altair](https://altair-viz.github.io)" + - text: "Model and evaluate: [scikit-learn](https://scikit-learn.org),[ statsmodels](https://www.statsmodels.org/stable/index.html),[ PyMC3](https://docs.pymc.io),[ spaCy](https://spacy.io)" + - text: "Report in a dashboard: [Dash](https://plotly.com/dash),[ Panel](https://panel.holoviz.org),[ Voila](https://github.com/voila-dashboards/voila)" + + content: + - text: For high data volumes, [Dask](https://dask.org) and[Ray](https://ray.io/) are designed to scale. Stabledeployments rely on data versioning ([DVC](https://dvc.org)),experiment tracking ([MLFlow](https://mlflow.org)), andworkflow automation ([Airflow](https://airflow.apache.org) and[Prefect](https://www.prefect.io)). + +visualization: + images: + - url: https://www.fusioncharts.com/blog/best-python-data-visualization-libraries + img: /images/content_images/v_matplotlib.png + alttext: A streamplot made in matplotlib + - url: https://github.com/yhat/ggpy + img: /images/content_images/v_ggpy.png + alttext: A scatter-plot graph made in ggpy + - url: https://www.journaldev.com/19692/python-plotly-tutorial + img: /images/content_images/v_plotly.png + alttext: A box-plot made in plotly + - url: https://altair-viz.github.io/gallery/streamgraph.html + img: /images/content_images/v_altair.png + alttext: A streamgraph made in altair + - url: https://seaborn.pydata.org + img: /images/content_images/v_seaborn.png + alttext: A pairplot of two types of graph, a plot-graph and a frequency graph made in seaborn" + - url: https://docs.pyvista.org/examples/index.html + img: /images/content_images/v_pyvista.png + alttext: A 3D volume rendering made in PyVista. + - url: https://napari.org + img: /images/content_images/v_napari.png + alttext: A multi-dimensionan image made in napari. + - url: http://vispy.org/gallery.html + img: /images/content_images/v_vispy.png + alttext: A Voronoi diagram made in vispy. + + content: + - text: NumPy is an essential component in the burgeoning + [Python visualization landscape](https://pyviz.org/overviews/index.html), + which includes [Matplotlib](https://matplotlib.org), + [Seaborn](https://seaborn.pydata.org), [Plotly](https://plot.ly), + [Altair](https://altair-viz.github.io), [Bokeh](https://docs.bokeh.org/en/latest/), + [Holoviz](https://holoviz.org), [Vispy](http://vispy.org), [Napari](https://github.com/napari/napari), + and [PyVista](https://github.com/pyvista/pyvista), to name a few. + - text: NumPy's accelerated processing of large arrays allows researchers to visualize + datasets far larger than native Python could handle. \ No newline at end of file diff --git a/content/zh/terms.md b/content/zh/terms.md new file mode 100644 index 0000000000..9a66045505 --- /dev/null +++ b/content/zh/terms.md @@ -0,0 +1,178 @@ +--- +title: Terms of Use +sidebar: false +--- + +*Last updated January 4, 2020* + + +## AGREEMENT TO TERMS + +These Terms of Use constitute a legally binding agreement made between you, whether personally or on behalf of an entity (“you”) and NumPy ("**Project**", “**we**”, “**us**”, or “**our**”), concerning your access to and use of the numpy.org website as well as any other media form, media channel, mobile website or mobile application related, linked, or otherwise connected thereto (collectively, the “Site”). You agree that by accessing the Site, you have read, understood, and agreed to be bound by all of these Terms of Use. IF YOU DO NOT AGREE WITH ALL OF THESE TERMS OF USE, THEN YOU ARE EXPRESSLY PROHIBITED FROM USING THE SITE AND YOU MUST DISCONTINUE USE IMMEDIATELY. + + + +Supplemental terms and conditions or documents that may be posted on the Site from time to time are hereby expressly incorporated herein by reference. We reserve the right, in our sole discretion, to make changes or modifications to these Terms of Use at any time and for any reason. We will alert you about any changes by updating the “Last updated” date of these Terms of Use, and you waive any right to receive specific notice of each such change. It is your responsibility to periodically review these Terms of Use to stay informed of updates. You will be subject to, and will be deemed to have been made aware of and to have accepted, the changes in any revised Terms of Use by your continued use of the Site after the date such revised Terms of Use are posted. + + + +The information provided on the Site is not intended for distribution to or use by any person or entity in any jurisdiction or country where such distribution or use would be contrary to law or regulation or which would subject us to any registration requirement within such jurisdiction or country. Accordingly, those persons who choose to access the Site from other locations do so on their own initiative and are solely responsible for compliance with local laws, if and to the extent local laws are applicable. + + +## USER REPRESENTATIONS + +By using the Site, you represent and warrant that: (1) you have the legal capacity and you agree to comply with these Terms of Use; (2) you will not use the Site for any illegal or unauthorized purpose; and (3) your use of the Site will not violate any applicable law or regulation. + + +If you provide any information that is untrue, inaccurate, not current, or incomplete, we have the right to refuse any and all current or future use of the Site (or any portion thereof). + + +## PROHIBITED ACTIVITIES + +You may not access or use the Site for any purpose other than that for which we make the Site available. + +As a user of the Site, you agree not to: + +1. Systematically retrieve data or other content from the Site to create or compile, directly or indirectly, a collection, compilation, database, or directory without written permission from us. + +2. Make any unauthorized use of the Site, including collecting usernames and/or email addresses of users by electronic or other means for the purpose of sending unsolicited email, or creating user accounts by automated means or under false pretenses. + +3. Use the Site to advertise or offer to sell goods and services. + +4. Circumvent, disable, or otherwise interfere with security-related features of the Site. + +5. Engage in unauthorized framing of or linking to the Site. + +6. Trick, defraud, or mislead us and other users, especially in any attempt to learn sensitive account information such as user passwords. + +7. Make improper use of our support services or submit false reports of abuse or misconduct. + +8. Engage in any automated use of the system, such as using scripts to send comments or messages, or using any data mining, robots, or similar data gathering and extraction tools. + +9. Interfere with, disrupt, or create an undue burden on the Site or the networks or services connected to the Site. + +10. Attempt to impersonate another user or person or use the username of another user. + +11. Use any information obtained from the Site in order to harass, abuse, or harm another person. + +12. Disparage, tarnish, or otherwise harm, in our opinion, us and/or the Site. + +13. Except as may be the result of standard search engine or Internet browser usage, use, launch, develop, or distribute any automated system, including without limitation, any spider, robot, cheat utility, scraper, or offline reader that accesses the Site, or using or launching any unauthorized script or other software. + +14. Upload or transmit (or attempt to upload or to transmit) any material that acts as a passive or active information collection or transmission mechanism, including without limitation, clear graphics interchange formats (“gifs”), 1×1 pixels, web bugs, cookies, or other similar devices (sometimes referred to as “spyware” or “passive collection mechanisms” or “pcms”). + +15. Upload or transmit (or attempt to upload or to transmit) viruses, Trojan horses, or other material, including excessive use of capital letters and spamming (continuous posting of repetitive text), that interferes with any party’s uninterrupted use and enjoyment of the Site or modifies, impairs, disrupts, alters, or interferes with the use, features, functions, operation, or maintenance of the Site. + +16. Harass, annoy, intimidate, or threaten any of our employees or agents engaged in providing any portion of the Site to you. + +17. Attempt to bypass any measures of the Site designed to prevent or restrict access to the Site, or any portion of the Site. + + +## SUBMISSIONS + +You acknowledge and agree that any questions, comments, suggestions, ideas, feedback, or other information regarding the Site ("Submissions") provided by you to us are non-confidential and shall become our sole property. We shall own exclusive rights, including all intellectual property rights, and shall be entitled to the unrestricted use and dissemination of these Submissions for any lawful purpose, commercial or otherwise, without acknowledgment or compensation to you. You hereby waive all moral rights to any such Submissions, and you hereby warrant that any such Submissions are original with you or that you have the right to submit such Submissions. You agree there shall be no recourse against us for any alleged or actual infringement or misappropriation of any proprietary right in your Submissions. + +## THIRD-PARTY WEBSITES AND CONTENT + +The Site may contain (or you may be sent via the Site) links to other websites ("Third-Party Websites") as well as articles, photographs, text, graphics, pictures, designs, music, sound, video, information, applications, software, and other content or items belonging to or originating from third parties ("Third-Party Content"). Such Third-Party Websites and Third-Party Content are not investigated, monitored, or checked for accuracy, appropriateness, or completeness by us, and we are not responsible for any Third-Party Websites accessed through the Site or any Third-Party Content posted on, available through, or installed from the Site, including the content, accuracy, offensiveness, opinions, reliability, privacy practices, or other policies of or contained in the Third-Party Websites or the Third-Party Content. Inclusion of, linking to, or permitting the use or installation of any Third-Party Websites or any Third-Party Content does not imply approval or endorsement thereof by us. If you decide to leave the Site and access the Third-Party Websites or to use or install any Third-Party Content, you do so at your own risk, and you should be aware these Terms of Use no longer govern. You should review the applicable terms and policies, including privacy and data gathering practices, of any website to which you navigate from the Site or relating to any applications you use or install from the Site. Any purchases you make through Third-Party Websites will be through other websites and from other companies, and we take no responsibility whatsoever in relation to such purchases which are exclusively between you and the applicable third party. You agree and acknowledge that we do not endorse the products or services offered on Third-Party Websites and you shall hold us harmless from any harm caused by your purchase of such products or services. Additionally, you shall hold us harmless from any losses sustained by you or harm caused to you relating to or resulting in any way from any Third-Party Content or any contact with Third-Party Websites. + + +## SITE MANAGEMENT + +We reserve the right, but not the obligation, to: (1) monitor the Site for violations of these Terms of Use; (2) take appropriate legal action against anyone who, in our sole discretion, violates the law or these Terms of Use, including without limitation, reporting such user to law enforcement authorities; (3) in our sole discretion and without limitation, refuse, restrict access to, limit the availability of, or disable (to the extent technologically feasible) any of your Contributions or any portion thereof; (4) in our sole discretion and without limitation, notice, or liability, to remove from the Site or otherwise disable all files and content that are excessive in size or are in any way burdensome to our systems; and (5) otherwise manage the Site in a manner designed to protect our rights and property and to facilitate the proper functioning of the Site. + + +## PRIVACY POLICY + +We care about data privacy and security. Please review our [Privacy Policy](/privacy). By using the Site, you agree to be bound by our Privacy Policy, which is incorporated into these Terms of Use. Please be advised the Site is hosted in the United States. If you access the Site from the European Union, Asia, or any other region of the world with laws or other requirements governing personal data collection, use, or disclosure that differ from applicable laws in the United States, then through your continued use of the Site, you are transferring your data to the United States, and you expressly consent to have your data transferred to and processed in the United States. Further, we do not knowingly accept, request, or solicit information from children or knowingly market to children. Therefore, in accordance with the U.S. Children’s Online Privacy Protection Act, if we receive actual knowledge that anyone under the age of 13 has provided personal information to us without the requisite and verifiable parental consent, we will delete that information from the Site as quickly as is reasonably practical. + +## TERM AND TERMINATION + +These Terms of Use shall remain in full force and effect while you use the Site. WITHOUT LIMITING ANY OTHER PROVISION OF THESE TERMS OF USE, WE RESERVE THE RIGHT TO, IN OUR SOLE DISCRETION AND WITHOUT NOTICE OR LIABILITY, DENY ACCESS TO AND USE OF THE SITE (INCLUDING BLOCKING CERTAIN IP ADDRESSES), TO ANY PERSON FOR ANY REASON OR FOR NO REASON, INCLUDING WITHOUT LIMITATION FOR BREACH OF ANY REPRESENTATION, WARRANTY, OR COVENANT CONTAINED IN THESE TERMS OF USE OR OF ANY APPLICABLE LAW OR REGULATION. WE MAY TERMINATE YOUR USE OR PARTICIPATION IN THE SITE OR DELETE ANY CONTENT OR INFORMATION THAT YOU POSTED AT ANY TIME, WITHOUT WARNING, IN OUR SOLE DISCRETION. + + +## MODIFICATIONS AND INTERRUPTIONS + +We reserve the right to change, modify, or remove the contents of the Site at any time or for any reason at our sole discretion without notice. However, we have no obligation to update any information on our Site. We also reserve the right to modify or discontinue all or part of the Site without notice at any time. We will not be liable to you or any third party for any modification, suspension, or discontinuance of the Site. + +We cannot guarantee the Site will be available at all times. We may experience hardware, software, or other problems or need to perform maintenance related to the Site, resulting in interruptions, delays, or errors. We reserve the right to change, revise, update, suspend, discontinue, or otherwise modify the Site at any time or for any reason without notice to you. You agree that we have no liability whatsoever for any loss, damage, or inconvenience caused by your inability to access or use the Site during any downtime or discontinuance of the Site. Nothing in these Terms of Use will be construed to obligate us to maintain and support the Site or to supply any corrections, updates, or releases in connection therewith. + + +## GOVERNING LAW + +These Terms of Use and your use of the Site are governed by and construed in accordance with the laws of the State of Texas applicable to agreements made and to be entirely performed within the State of Texas, without regard to its conflict of law principles. + + +## DISPUTE RESOLUTION + +### Informal Negotiations + +To expedite resolution and control the cost of any dispute, controversy, or claim related to these Terms of Use (each a "Dispute" and collectively, the “Disputes”) brought by either you or us (individually, a “Party” and collectively, the “Parties”), the Parties agree to first attempt to negotiate any Dispute (except those Disputes expressly provided below) informally for at least thirty (30) days before initiating arbitration. Such informal negotiations commence upon written notice from one Party to the other Party. + + +### Binding Arbitration + +If the Parties are unable to resolve a Dispute through informal negotiations, the Dispute (except those Disputes expressly excluded below) will be finally and exclusively resolved by binding arbitration. YOU UNDERSTAND THAT WITHOUT THIS PROVISION, YOU WOULD HAVE THE RIGHT TO SUE IN COURT AND HAVE A JURY TRIAL. The arbitration shall be commenced and conducted under the Commercial Arbitration Rules of the American Arbitration Association ("AAA") and, where appropriate, the AAA’s Supplementary Procedures for Consumer Related Disputes ("AAA Consumer Rules"), both of which are available at the AAA website www.adr.org. Your arbitration fees and your share of arbitrator compensation shall be governed by the AAA Consumer Rules and, where appropriate, limited by the AAA Consumer Rules. If such costs are determined to by the arbitrator to be excessive, we will pay all arbitration fees and expenses. The arbitration may be conducted in person, through the submission of documents, by phone, or online. The arbitrator will make a decision in writing, but need not provide a statement of reasons unless requested by either Party. The arbitrator must follow applicable law, and any award may be challenged if the arbitrator fails to do so. Except where otherwise required by the applicable AAA rules or applicable law, the arbitration will take place in Travis County, Texas. Except as otherwise provided herein, the Parties may litigate in court to compel arbitration, stay proceedings pending arbitration, or to confirm, modify, vacate, or enter judgment on the award entered by the arbitrator. + +If for any reason, a Dispute proceeds in court rather than arbitration, the Dispute shall be commenced or prosecuted in the state and federal courts located in Travis County, Texas, and the Parties hereby consent to, and waive all defenses of lack of personal jurisdiction, and forum non conveniens with respect to venue and jurisdiction in such state and federal courts. Application of the United Nations Convention on Contracts for the International Sale of Goods and the the Uniform Computer Information Transaction Act (UCITA) are excluded from these Terms of Use. + +In no event shall any Dispute brought by either Party related in any way to the Site be commenced more than one (1) years after the cause of action arose. If this provision is found to be illegal or unenforceable, then neither Party will elect to arbitrate any Dispute falling within that portion of this provision found to be illegal or unenforceable and such Dispute shall be decided by a court of competent jurisdiction within the courts listed for jurisdiction above, and the Parties agree to submit to the personal jurisdiction of that court. + + +### Restrictions + +The Parties agree that any arbitration shall be limited to the Dispute between the Parties individually. To the full extent permitted by law, (a) no arbitration shall be joined with any other proceeding; (b) there is no right or authority for any Dispute to be arbitrated on a class-action basis or to utilize class action procedures; and (c) there is no right or authority for any Dispute to be brought in a purported representative capacity on behalf of the general public or any other persons. + + +### Exceptions to Informal Negotiations and Arbitration + +The Parties agree that the following Disputes are not subject to the above provisions concerning informal negotiations and binding arbitration: (a) any Disputes seeking to enforce or protect, or concerning the validity of, any of the intellectual property rights of a Party; (b) any Dispute related to, or arising from, allegations of theft, piracy, invasion of privacy, or unauthorized use; and (c) any claim for injunctive relief. If this provision is found to be illegal or unenforceable, then neither Party will elect to arbitrate any Dispute falling within that portion of this provision found to be illegal or unenforceable and such Dispute shall be decided by a court of competent jurisdiction within the courts listed for jurisdiction above, and the Parties agree to submit to the personal jurisdiction of that court. + + +## CORRECTIONS + +There may be information on the Site that contains typographical errors, inaccuracies, or omissions. We reserve the right to correct any errors, inaccuracies, or omissions and to change or update the information on the Site at any time, without prior notice. + + +## DISCLAIMER + +THE SITE IS PROVIDED ON AN AS-IS AND AS-AVAILABLE BASIS. YOU AGREE THAT YOUR USE OF THE SITE AND OUR SERVICES WILL BE AT YOUR SOLE RISK. TO THE FULLEST EXTENT PERMITTED BY LAW, WE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, IN CONNECTION WITH THE SITE AND YOUR USE THEREOF, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. WE MAKE NO WARRANTIES OR REPRESENTATIONS ABOUT THE ACCURACY OR COMPLETENESS OF THE SITE’S CONTENT OR THE CONTENT OF ANY WEBSITES LINKED TO THE SITE AND WE WILL ASSUME NO LIABILITY OR RESPONSIBILITY FOR ANY (1) ERRORS, MISTAKES, OR INACCURACIES OF CONTENT AND MATERIALS, (2) PERSONAL INJURY OR PROPERTY DAMAGE, OF ANY NATURE WHATSOEVER, RESULTING FROM YOUR ACCESS TO AND USE OF THE SITE, (3) ANY UNAUTHORIZED ACCESS TO OR USE OF OUR SECURE SERVERS AND/OR ANY AND ALL PERSONAL INFORMATION AND/OR FINANCIAL INFORMATION STORED THEREIN, (4) ANY INTERRUPTION OR CESSATION OF TRANSMISSION TO OR FROM THE SITE, (5) ANY BUGS, VIRUSES, TROJAN HORSES, OR THE LIKE WHICH MAY BE TRANSMITTED TO OR THROUGH THE SITE BY ANY THIRD PARTY, AND/OR (6) ANY ERRORS OR OMISSIONS IN ANY CONTENT AND MATERIALS OR FOR ANY LOSS OR DAMAGE OF ANY KIND INCURRED AS A RESULT OF THE USE OF ANY CONTENT POSTED, TRANSMITTED, OR OTHERWISE MADE AVAILABLE VIA THE SITE. WE DO NOT WARRANT, ENDORSE, GUARANTEE, OR ASSUME RESPONSIBILITY FOR ANY PRODUCT OR SERVICE ADVERTISED OR OFFERED BY A THIRD PARTY THROUGH THE SITE, ANY HYPERLINKED WEBSITE, OR ANY WEBSITE OR MOBILE APPLICATION FEATURED IN ANY BANNER OR OTHER ADVERTISING, AND WE WILL NOT BE A PARTY TO OR IN ANY WAY BE RESPONSIBLE FOR MONITORING ANY TRANSACTION BETWEEN YOU AND ANY THIRD-PARTY PROVIDERS OF PRODUCTS OR SERVICES. AS WITH THE PURCHASE OF A PRODUCT OR SERVICE THROUGH ANY MEDIUM OR IN ANY ENVIRONMENT, YOU SHOULD USE YOUR BEST JUDGMENT AND EXERCISE CAUTION WHERE APPROPRIATE. + + +## LIMITATIONS OF LIABILITY + +IN NO EVENT WILL WE OR OUR DIRECTORS, EMPLOYEES, OR AGENTS BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, SPECIAL, OR PUNITIVE DAMAGES, INCLUDING LOST PROFIT, LOST REVENUE, LOSS OF DATA, OR OTHER DAMAGES ARISING FROM YOUR USE OF THE SITE, EVEN IF WE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED HEREIN, OUR LIABILITY TO YOU FOR ANY CAUSE WHATSOEVER AND REGARDLESS OF THE FORM OF THE ACTION, WILL AT ALL TIMES BE LIMITED TO THE AMOUNT PAID, IF ANY, BY YOU TO US DURING THE SIX (6) MONTH PERIOD PRIOR TO ANY CAUSE OF ACTION ARISING. CERTAIN STATE LAWS DO NOT ALLOW LIMITATIONS ON IMPLIED WARRANTIES OR THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES. IF THESE LAWS APPLY TO YOU, SOME OR ALL OF THE ABOVE DISCLAIMERS OR LIMITATIONS MAY NOT APPLY TO YOU, AND YOU MAY HAVE ADDITIONAL RIGHTS. + + +## INDEMNIFICATION + +You agree to defend, indemnify, and hold us harmless, including our subsidiaries, affiliates, and all of our respective officers, agents, partners, and employees, from and against any loss, damage, liability, claim, or demand, including reasonable attorneys’ fees and expenses, made by any third party due to or arising out of: (1) use of the Site; (2) breach of these Terms of Use; (3) any breach of your representations and warranties set forth in these Terms of Use; (4) your violation of the rights of a third party, including but not limited to intellectual property rights; or (5) any overt harmful act toward any other user of the Site with whom you connected via the Site. Notwithstanding the foregoing, we reserve the right, at your expense, to assume the exclusive defense and control of any matter for which you are required to indemnify us, and you agree to cooperate, at your expense, with our defense of such claims. We will use reasonable efforts to notify you of any such claim, action, or proceeding which is subject to this indemnification upon becoming aware of it. + + +## USER DATA + +We will maintain certain data that you transmit to the Site for the purpose of managing the performance of the Site, as well as data relating to your use of the Site. Although we perform regular routine backups of data, you are solely responsible for all data that you transmit or that relates to any activity you have undertaken using the Site. You agree that we shall have no liability to you for any loss or corruption of any such data, and you hereby waive any right of action against us arising from any such loss or corruption of such data. + + +## ELECTRONIC COMMUNICATIONS, TRANSACTIONS, AND SIGNATURES + +Visiting the Site, sending us emails, and completing online forms constitute electronic communications. You consent to receive electronic communications, and you agree that all agreements, notices, disclosures, and other communications we provide to you electronically, via email and on the Site, satisfy any legal requirement that such communication be in writing. YOU HEREBY AGREE TO THE USE OF ELECTRONIC SIGNATURES, CONTRACTS, ORDERS, AND OTHER RECORDS, AND TO ELECTRONIC DELIVERY OF NOTICES, POLICIES, AND RECORDS OF TRANSACTIONS INITIATED OR COMPLETED BY US OR VIA THE SITE. You hereby waive any rights or requirements under any statutes, regulations, rules, ordinances, or other laws in any jurisdiction which require an original signature or delivery or retention of non-electronic records, or to payments or the granting of credits by any means other than electronic means. + + +## CALIFORNIA USERS AND RESIDENTS + +If any complaint with us is not satisfactorily resolved, you can contact the Complaint Assistance Unit of the Division of Consumer Services of the California Department of Consumer Affairs in writing at 1625 North Market Blvd., Suite N 112, Sacramento, California 95834 or by telephone at (800) 952-5210 or (916) 445-1254. + + +## MISCELLANEOUS + +These Terms of Use and any policies or operating rules posted by us on the Site or in respect to the Site constitute the entire agreement and understanding between you and us. Our failure to exercise or enforce any right or provision of these Terms of Use shall not operate as a waiver of such right or provision. These Terms of Use operate to the fullest extent permissible by law. We may assign any or all of our rights and obligations to others at any time. We shall not be responsible or liable for any loss, damage, delay, or failure to act caused by any cause beyond our reasonable control. If any provision or part of a provision of these Terms of Use is determined to be unlawful, void, or unenforceable, that provision or part of the provision is deemed severable from these Terms of Use and does not affect the validity and enforceability of any remaining provisions. There is no joint venture, partnership, employment or agency relationship created between you and us as a result of these Terms of Use or use of the Site. You agree that these Terms of Use will not be construed against us by virtue of having drafted them. You hereby waive any and all defenses you may have based on the electronic form of these Terms of Use and the lack of signing by the parties hereto to execute these Terms of Use. + +## CONTACT US + +In order to resolve a complaint regarding the Site or to receive further information regarding use of the Site, please contact us at: + +NumFOCUS, Inc.
P.O. Box 90596
Austin, TX, USA 78709
info@numfocus.org
+1 (512) 222-5449 + + + diff --git a/content/zh/user-survey-2020.md b/content/zh/user-survey-2020.md new file mode 100644 index 0000000000..1b03ed54ae --- /dev/null +++ b/content/zh/user-survey-2020.md @@ -0,0 +1,16 @@ +--- +title: 2020年NumPy社区调研 +sidebar: false +--- + +2020 年,NumPy 调查团队与密歇根大学和马里兰大学联合主办的调查方法学硕士课程的师生合作,进行了第一次官方 NumPy 社区调查。 来自 75 个国家/地区的 1,200 多名用户参与其中,帮助我们勾勒出一幅 NumPy 社区的全景图,并表达了他们对项目未来的看法。 + +{{< figure src="/surveys/NumPy_usersurvey_2020_report_cover.png" class="fig-left" alt="2020年NumPy用户调查报告的封面,标题是'NumPy Community Survey 2020 - results'" width="250">}} + +**[下载报告](/surveys/NumPy_usersurvey_2020_report.pdf)** 以更仔细地查看调查结果。 + + +重点部分,请参阅 **[信息图](https://github.com/numpy/numpy-surveys/blob/master/images/2020NumPysurveyresults_community_infographic.pdf)**。 + +准备仔细研究? 访问 **https://numpy.org/user-survey-2020-details/**。 +