整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Jupyter Notebook 最佳实践

Jupyter Notebook 最佳实践

断续续做过几个数据分析方面的项目,使用的是 Python 爱好者耳熟能详的 Jupyter Notebook。一开始把各种 .ipynb文件、数据源文件都放在同一个项目目录下,看上去特别杂乱无章,整理的时候也是一团乱麻。

后来在谷歌上找到一篇介绍 Jupyter Notebook 最佳实践的文章,受益匪浅。按照书中所提的建议来组织项目,确实要清晰的多了,而且特别适合团队共同完成数据科学项目。

因此摘录其中的关键点分享出来,希望能帮助到正在学习使用 Jupyter 的朋友。

整体思路

将数据科学项目的 notebook 分为两大类:实验版和交付版,分别进行针对性的管理。

实验版 notebook

参考传统实验室中整理笔记的方法,在使用 Jupyter notebook 时,遵循以下几点:

  1. 每个 notebook 都要保留分析历史(和日期)记录

  2. 每个 notebook 仅用于开发和实验。

  3. 每个 notebook 只有一位作者:标注作者的首字母缩写。

  4. notebook 如果太长,可以进行拆分

  5. 如果需要,可以按主题区分 notebook。

交付版 notebook:

可交付版的 notebook 则是打磨完善的版本,并且包含有最终的分析输出。这类 notebook 需要由整个团队来进行管理,而不是交给某一个人。

版本控制

多人协作进行数据分析时,建议采用 Pull Request 的方式提交代码。通过 Git 和 Github 可以很好地实现这点。但是在查看 PR 的时候,审查人需要能给清晰地辨别出 .ipynb文件的变动。

推荐将 .ipynb文件转化成.py文件后,再进行文件差异对比,可以方便地查看代码的变化。

另外,在审查分析代码时,最好能给直接查看输出的变化。因此推荐保存一份 HTML 版的输出文件。

图1:修改前的拟合情况

图2:修改后的拟合情况

Post-save 钩子

可以通过 post-save的钩子,很方便地完成上节所说的.ipynb文件转换成.py文件的工作。只需要按照如下代码所示,修改 ipython 的配置文件即可:

  1. ?/ .ipython / profile_nbserver / ipython_notebook_config.py

添加以下代码:

  1. #如果您想自动保存笔记本的.html和.py版本:modified from:https://github.com/ipython/ipython/issues/8009

  2. import os

  3. from subprocess import check_call


  4. def post_save(model,os_path,contents_manager):

  5. """用于将笔记本转换为.py脚本的保存后挂钩"""

  6. if model ['type']!='notebook':

  7. return # only do this for notebooks

  8. d,fname=os.path.split(os_path)

  9. check_call(['ipython','nbconvert',' - to','script',fname],cwd=d)

  10. check_call(['ipython','nbconvert',' - to','html',fname],cwd=d)


  11. c.FileContentsManager.post_save_hook=post_save

现在,每次保存到笔记本都会更新名称相同的.py和.html文件。在提交和拉取请求中添加这些,您将从这些文件格式中获益。

完整示例

这是正在进行的项目的目录结构,有一些关于命名文件的明确规则。

示例目录结构:

  1. - develop#(实验版 notebook)

  2. + [ISO 8601日期] - [DS-作者首字母简称] - [2-4字描述] .ipynb

  3. + 2015-06-28 -jw-initial-data-clean.html

  4. + 2015-06-28-jw-initial-data-clean.ipynb

  5. + 2015-06-28-jw-initial-data-clean.py

  6. + 2015-07-02-jw-coal-productivity-factors.html

  7. + 2015-07-02-jw-coal-productivity-factors.ipynb

  8. + 2015-07-02-jw-coal-productivity-factors.py

  9. - deliver#(最终分析,代码,演示文稿等)

  10. +Coal-mine-productivity.ipynb

  11. +Coal-mine-productivity.html

  12. + Coal-mine-productivity.py

  13. - figures

  14. + 2015-07-16-jw-production-vs-hours -working.png

  15. - src#(模块和脚本)

  16. + init.py

  17. + load_coal_data.py

  18. + figures#(数字和图表)

  19. + production-vs-number-employees.png

  20. + production-vs-hours-working.png

  21. - data(备份 - 与版本控制分开)

  22. + coal_prod_cleaned.csv

优点总结

本文分享的这种工作流程和目录结构,主要由两大明显的优点

首先,我们可以看到数据分析的执行过程,通过日期、作者、主题就可以进行检索

  • 按日期(ls 2015-06 * .ipynb)

  • 作者(ls 2015 * -jw - * .ipynb)

  • 按主题(ls * -coal - * .ipynb)

其次,在审查 PR 时,保存 .py.html文件可以快速定位变动,以及直观确认输出的变化。而且采用post-save的钩子也是一劳永逸。

大家可以结合自己团队的情况,有选择地采纳上述建议。如果有更合理的解决方案,也欢迎大家反馈。

--

source:https://www.svds.com/jupyter-notebook-best-practices-for-data-science/

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「pybooks02」,立即获取 O'Reilly 出版社推出的免费 Python 相关电子书合集

回复关键词「书单02」,立即获取主页君整理的 10 本 Python 入门书的电子版

Python 或将超越 C、Java,成为最受欢迎的语言

Python 容器使用的 5 个技巧和 2 个误区

题图:pexels,CC0 授权。


要:
由供需错配和投机因素的共同推动,此轮锂价经历飞涨之后仍然维持高位。“苦锂价久矣”的下游电池厂商和整车制造厂商,出于对原材料供应保障、产业链安全以及成本控制的考量纷纷将触角延伸至上游锂矿,以争夺更大的产业链话语权。锂价的非理性疯涨和供需失衡,坚定了汽车制造商把手伸向上游锂矿的决心。



锂价上涨趋势仍未结束。

6月23日,澳大利亚锂矿商Pilbara发布公告,该公司第六次(今年第三次)锂精矿拍卖将在电子交易平台Battery Material Exchange(BMX)进行。在预拍卖中,拍卖就已完成,成交价6350美元/吨(加上运费,折7017美元/吨),再度创下新高,较一个月前的成交价上涨6.6%。


图说:截至 2022 年 4 月 22 日的基准锂价格指数

来源:Benchmark Mineral Intelligence


Pilbara Minerals新任董事总经理兼CEO Dale Henderson表示:“这是一个非凡的结果,进一步证明了目前全球锂离子供应链对电池原材料前所未有的需求。与最近市场已经见顶的说法相反,我们在客户面前看到的证据,包括这个定价结果,表明需求仍然非常强劲,在可预见的未来,前景依然健康。”

疯狂的锂价养肥了上游锂矿、锂盐开采及加工和销售的厂商,但苦了下游电池厂商和车企。

在锂价持续高位的情况下,全世界的电池厂商都开始撸起袖子抢锂矿。最近,这一趋势已从电池厂商蔓延到了汽车制造商。特斯拉CEO马斯克曾在4月表示,锂价已经涨到疯狂的水平,特斯拉或许不得不直接进入(锂矿)大规模的开采和精炼业务,除非成本压力有所缓解。

6月24日,全球第四大汽车集团Stellantis宣布将投资5000万欧元(5200万美元),购买锂矿商Vulcan Energy Resources 8%的股份,成为其第二大股东,并将气候友好型锂供应协议延长至10年。

Stellantis于2021年初由PSA集团与菲亚特克莱斯勒集团合并而来,旗下拥有包括克莱斯勒、雪铁龙、道奇、菲亚特等在内的16个汽车品牌,根据MarkLines 2021 年全球纯电动汽车销量数据,其排名第7位。

无独有偶,面对疯狂的锂价,国内汽车厂商也出手了。近日,澎湃新闻从消息人士处独家获悉,比亚迪在非洲觅得6座锂矿矿山,目前均已达成收购意向。

其实早在2010年,比亚迪就参股了中国最大的盐湖锂矿扎布耶盐湖,长期以来,比亚迪一直在加速布局上游锂资源。盛新锂能于3月22日发布公告称拟引入比亚迪作为战略投资者,目前该定增项目已获证监会受理;5月17日,盐湖股份表示盐湖比亚迪3万吨电池级碳酸锂项目正在对提锂技术进行中试,待中试效果验证后,双方将协商项目启动。

而在这轮锂价上涨之前,国内知名汽车厂商长城汽车就早已未雨绸缪,于2017年通过其全资子公司亿新发展以2800万澳元收购澳大利亚锂矿商Pilbara Minerals 5600万股的新增股份, 持股比例3.5%。

为何从电池厂商到汽车制造商均对锂矿如此上心,电动车厂的尽头会是锂矿商么?



01

为什么目光都投向了锂矿?


以清洁能源技术为动力的能源系统与以传统碳氢化合物资源为动力的能源系统大不相同。太阳能光伏 (PV) 发电厂、风力发电场和电动汽车 (EV) 通常比基于化石燃料的同类产品需要更多的矿物来建造。

据国际能源署(IEA)报告统计,电动汽车平均所需的矿物质如下:铜:53.2公斤/辆,锂:8.9公斤/辆,镍:39.9公斤/辆,锰:24.5公斤/辆,钴:13.3公斤/辆,石墨:66.3公斤/辆,稀土:0.5公斤/辆,其他:0.3公斤/辆;而传统燃油车仅需铜:22.3公斤/辆;锰11.2公斤/辆,其他:0.3公斤/辆。

一辆典型的电动汽车需要的矿产资源是传统汽车的六倍,随着清洁能源转型的步伐加快,对这些关键矿物的需求将迅速增长。


图说:电动汽车与传统汽车中使用的矿物对比

来源:国际能源署


对任何一家生产电动车的车企来说,金属锂都是极为关键且不可或缺的元素。通过拆解一辆电动汽车的成本分布可以发现,电池系统是新能源汽车中成本占比最高的零部件,占比接近 40%。而无论是三元锂电池还是磷酸铁锂电池,其正极、电解液制造都离不开锂这一金属原料。


图说:纯电动汽车成本分析

来源:高工锂电、招商证券


动力电池被誉为电动车的咽喉,谁掌握了电池,谁就间接控制了电动车。而这一轮锂价的火箭般的疯涨,让整车厂、电池厂这些电动车行业的大佬深刻认识到了原来一直平平无奇的锂矿,才是卡住整条产业链脖子的东西。


图说:新能源汽车产业链

来源:国元证券


这轮锂价的疯涨,背后是由供需错配推动。根据美国地质调查局的数据,2021年,全球已探明锂资源储量为2200万吨,锂资源并不稀缺,完全可以保证锂的需求。但由于近年来中下游的新能源汽车以及电化学储能需求持续爆发,而上游锂矿的建设周期长,开采和冶炼难以保障供应,供不应求的局面不断加剧,导致锂盐价格不断攀升,且达到前所未有的高价。

除此之外,投机性因素也加剧了锂价的上涨。中汽协副秘书长陈士华接受媒体采访时也说,本轮原材料价格超常规上涨,不能简单归结为供需矛盾,属于非理性上涨,其背后有推手。

在清洁能源转型的过程中,用于电动汽车和电池存储的关键矿物是需求的主要力量,而锂的需求增长最快,未来供需失衡情况可能仍会加剧。国际能源署预计到 2040 年在可持续发展情景中锂需求增长将超过 40 倍,未来几年需求量将大幅超过计划供应量。Benchmark Mineral Intelligence则预计2025年全球锂需求将超过供应,并预测2030年的锂需求将达到240万吨LCE(碳酸锂当量)。


图说:世界锂供需预测

来源:Benchmark Mineral Intelligence


因此,作为站在金字塔顶端的产业链话事人,被一堆白色粉末这样卡住脖子是无法接受的。无“锂”寸步难行,这一轮锂价的非理性疯涨加上未来可能加剧的供需失衡,毫无疑问更加坚定了汽车制造商把手伸向上游锂矿的决心。



02

当车企开始买矿,他们买的是什么?


在本月早些时候发布的 2022 年年度矿业报告中,普华永道强调了包括车企在内的原始设备制造商(OEM)和终端用户直接与矿业公司合作以获取关键矿物,特别是锂离子电池原材料的趋势,其发现原始设备制造商 (OEM) 和终端用户正在越来越多地向供应链上游移动,以确保关键电池矿物的安全,从而加速向汽车电气化和工业脱碳的过渡。


图说:普华永道2022 年年度矿业报告

来源:普华永道


普华永道表示:“原始设备制造商正在与矿业公司和加工商建立合资企业、合作伙伴关系和承购协议,以确保供应,如果这种发展方向继续下去,我们预计原始设备制造商将直接参与关键矿产开采。”

事实上,除了动力电池厂商外,汽车制造商的躬身入局,加入“白色石油”锂矿的争夺战,为的就是自身产业链的安全。如果上游锂矿不在自己手里,面对被少数巨头垄断的关键矿产资源,到时候只能是人为刀俎我为鱼肉,默默承受关键矿产涨价对利润的蚕食,而无力还手。

虽然比亚迪方面对其在非洲觅得6座锂矿矿山的消息表示“不予置评”,但据消息人士称,比亚迪内部测算,在6座锂矿中,氧化锂品位2.5%的矿石量达到了2500万吨以上,折算为碳酸锂可达100万吨,或将将覆盖其未来十余年电池需求。

6月1日,伊维经济研究院研究部总经理吴辉在接受《每日经济新闻》采访时称:“拥有独立锂矿开采权,不仅能缓解锂矿价格高涨带来的成本压力,还能加强对产业链资源的控制,保证整个供应链体系的稳定。只有这样,比亚迪才能保障后期旗下产品对外的供应需求。此外,通过自主掌握部分碳酸锂的资源,可使其在后期与碳酸锂供应商进行价格谈判中掌握主动权。”

Stellantis集团首席执行官唐唯实(Carlos Tavares)也表示:“对一家领先的锂生产商进行这项高度战略性的投资,将有助于为Stellantis集团在欧洲制造的电动汽车所需的电池生产创造一个强韧且具有可持续性的价值链。我们将继续与认可集团价值观的合作伙伴建立牢固的关系,共同抗击全球气候变暖,为客户提供清洁、安全和价格合理的移动出行方案。”



03

未来,锂资源争夺战仍将会持续


无论是投资锂矿还是签署供应协议,为保障原料供应和自身产业链的安全,下游车企正将触角延伸至上游,这实际上也是汽车产业链结构关系的一种重塑。

需要注意的是资源开采、基础设施、技术保障和人员管理这些都可能是车企入局锂矿后所面临的难题。而且一座锂矿从勘探到出货,需要6-8年左右的时间。正如全联车商投资管理(北京)有限公司总裁曹鹤所说:“无论是锂资源还是锂电池,它最终都是为了整车产品服务。虽然整个产业链的打通有利于减少中间环节的成本,但对于车企来说,从矿产资源到整车制造毕竟是两个行业,如果向上游延伸太多,车企也很难承担后续矿产开采和勘探成本压力,后续管理也会是个问题。”

不过,面对仍将加剧的全球锂供需紧张,抢占产业链话语权的锂资源争夺战仍将会持续。可以预见的是,出于对原材料供应保障、产业链安全以及成本控制的考量,未来从电池厂商到整车制造厂商,入局锂矿的趋势不仅不会减弱,反而可能会进一步加强。

参考资料:

[1]https://www.reuters.com/markets/deals/fiat-owner-stellantis-invest-52-mln-vulcan-energy-8-stake-2022-06-24/

[2]https://www.argusmedia.com/en/news/2344627-oems-move-upstream-to-secure-battery-materials?backToResults=true

[3]https://www.thepaper.cn/newsDetail_forward_18350577

[4]https://www.reuters.com/article/us-great-wall-motor-pilbara-idUSKCN1C40JY

[5]https://www.greencarcongress.com/2022/05/20220514-benchmark.html

[6]https://www.iea.org/reports/the-role-of-critical-minerals-in-clean-energy-transitions/executive-summary

[7]深途,电池厂商的尽头是矿商,2022-04-29

[8]https://www.pwc.com/gx/en/industries/energy-utilities-resources/publications/mine.html

[9]每日经济新闻,未来十年都够用了?比亚迪突传大消息,在非洲洽购6座锂矿山!回应:不予置评,2022-06-02

[10]钛媒体,锂价一年暴涨十倍,车企缺“锂”难活|科股头条,2022-04-23

[11]格隆汇,电动车领域最隐秘的一场战争,2022-06-02

[12]https://www.ft.com/content/8f38881b-fb63-47ba-81cb-2fd4cb9c963f

来源:环球零碳

3月18日,玖的GPU云渲染平台成功上线。2020年3月18日0时0分01秒,所有VBOX正式接入玖的GPU云渲染平台,2020年3月18日0时05分23秒,第一台VBOX计算设备成功通过云端接入玖的GPU云渲染平台,标志着玖的正式对外提供GPU算力渲染服务,登陆玖的官方平台即可享受极速弹性服务,按需购买GPU集群,减少资源浪费,玖的专业技术团队将提供的24小时不间断技术服务。


随着5G商业时代的到来,VR、算力、分布式技术、人工智能和大数据将会齐驱高速发展,「云算链」作为VR生态第一链,在VR的土壤中应运而生,成功将玖的自主研发的VBOX智能硬件套装与多种类智能设备的闲置算力接入去中心化计算网络,散布在全国各地批量的VBOX将会自动接入玖的GPU云渲染平台,并结合大量算法研发和工程优化工作,玖的已实现在真实的商业化计算任务中的应用,为高强度计算类型任务(如CG渲染、人工智能模型训练、基因序列比对分析、大数据分析、数值模拟分析、科学计算等)提供更高效更优质的算力服务。

目前单 CPU 的发展已不能满足实际应用的需求,不管是超凡的VR体验还是AI深度学习都需要强大的算力支持,但是传统算力普遍面临算力不充足、成本昂贵、难获取等问题。而玖的是面向全国用户开放的数字资产配置共享算力平台,通过分布式计算技术的综合应用,把全国各地的VBOX用户连接在健康的数字共识体系中,以数字共识资产激活VBOX用户不断提供闲散的GPU算力,玖的云渲染平台把GPU算力集结在一起,为需求方提供弹性可扩容的高性价比优质的GPU算力服务。


传统的渲染成本高效率低

2018年东风日产「VR翼装飞行项目」炫酷的VR全景高清视频特效让人瞬间沉浸惊艳尖叫,但是「VR翼装飞行项目」一个3分钟的全景内容需要耗时4320分钟才能完成渲染,渲染过程中还不能有一点儿出错。为了完成这个视频渲染玖的制作团队没日没夜地通宵3天才完成了这个内容渲染工作。

「VR翼装飞行项目」VR视频渲染中

「VR翼装飞行项目」现场展示图

玖的GPU渲染极大解放渲染工程师生产力

同样的VR内容,同样高清标准的渲染,东风日产「VR翼装飞行项目」的VR视频应用了玖的GPU云渲染后,只用了180分钟就完成了渲染任务。正是GPU算力的高效,更符合当下竞争激烈是市场环境,而「云算链」将通过提供高效GPU算力,让渲染工程师可以用极小的成本,快速完成渲染工作,并降低了创作人的投入时间精力成本,提高生产力。

「VR翼装飞行项目」VR高清视频渲染完成


玖的GPU高效云渲染

VBOX上线发售、「云算链」的成功上链和玖的GPU云渲染平台震撼上线标志着以VR+5G+算力的数字化共识生态已完成闭环,意味着「云算链」开放式闭环共享生态系统正式形成。随着智能硬件快速发展及其芯片性能不断提高,数百亿具有计算能力的智能设备(如智能汽车、智能家居、智能穿戴等)也将会逐步并入「云算链」,真正实现“万物共算网络,算法共享上链”形成新的共享算力经济生态圈,为众多需要强大算力资源企业以最低的成本来获取快速的生产效率与效果。

「云算链」作为VR生态第一链,未来提供的GPU算力不仅在设计和影视领域将大有作为,还将有机连接VR、算力和分布式技术广泛服务于人工智能、智慧城市、大数据等领域,特别在人工智能行业,「云算链」通过汇集全国智能设备的计算能力,将有效解决算力对人工智能行业算力成本高的难题,推动中国人工智能行业的快速发展,帮助人工智能更好地为智慧城市建设服务。

备注:

1.玖的GPU云渲染平台的暂定网站:

http://www.vrnined.com/cloud/index/index.html

2. VBOX代理平台网址:

http://www.233esports.com/agent/home.html

3.VBOX购买网址:

http://www.233esports.com/agent/mineblack.html?code=011MgH9Z0Exd8Y1bAG9Z0NLX9Z0MgH9J

4.VBOX官网了解更多新鲜资讯:

http://www.233vbox.com/

5. 识别233电竞APP二维码,下载官方APP,注册体验「云算链」生态,免费获取乐钻