摘要:
首先,Hadoop会把输入数据划分成等长的输入分片(input split) 或分片发送到MapReduce。Hadoop为每个分片创建一个map任务,由它来运行用户自定义的map函数以分析每个分片中的记录。在我们的单词计数例子中,输入是多个文件,一般一个文件对应一个分片,如果文件太大则会划分为多个分片。map函数的输入以 阅读全文
摘要:
.gitignore针对每个语言都有对应的模板,在GitHub创建项目时就可以选择(你可以在GitHub提供的.gitignore模板大全中找到它)。但是这些往往是不够的的。如我们在Mac系统下用VSCode开发,那么常常还需要添加其它项目。如.vscode/表示忽略.vscode这个包含项目配置文件的隐藏目录(注意是包括目录一起忽略,.DS_Store表示忽略掉Mac操作系统下存储目录自定义属性的隐藏文件。此外机器学习相关的项目中,数据和模型通常异常巨大,我们并不想将它们放到项目文件夹下。 阅读全文
摘要:
强转int类型会直接对浮点数的小数部分进行截断(无论是正还是负)。还有一种方法是math.ceil和math.floor。无论是正数还是负数,都遵循:ceil往数轴正方向取整,floor往数轴负方向取整。round原型为round(value, ndigits),可以将一个浮点数取整到固定的小数位。该函数对正数和负数都采取就近取整原则,而当某个值恰好等于两个整数间一半时,取整操作会取到离该值最近的那个偶数。 阅读全文
摘要:
Pytorch中继承了torch.nn.Module的模型类具有named_parameters()/parameters()方法,这两个方法都会返回一个用于迭代模型参数的迭代器(named_parameters还包括参数名字): 阅读全文
摘要:
我们在上一篇博客中介绍了Linux系统Shell命令行下可执行程序应该遵守的传参规范(包括了各种选项及其参数)。Python命令行程序做为其中一种,其传参中也包括了位置参数(positional和可选参数(optional)。Python程序中我们解析在命令行中提供的各种选项(选项保存在sys.argv中)可以使用argparse模块。 阅读全文
摘要:
Linux下的可执行程序在运行时经常需要传一些参数,而这些参数是有规范的。包括我们自己写的在Linux系统下运行的Shell脚本、Python脚本等可执行程序,最好也遵循相关规范。我们下面以Linux命令为例来讲解参数规范。 中括号[]并不存在于实际的命令中,表示该参数是可选的,而加入选项设置时,通常选项前会带-符号,例如-h。 阅读全文
摘要:
保存图片的时候设置参数bbox_inches = 'tight',如:plt.savefig("Matplotlib/graph.png", bbox_inches = 'tight') 阅读全文
摘要:
我们已知一个DataFrame记录了模型Model1、Model2在3个Epoch优化中的精度变化情况,现在我们像将其输出为html。我们发现这样并不美观。我们想要去除掉表格的边框,并使每个单元格对齐,可以为表格设置style属性再输出。如果我们想对各模型迭代过程中取得的最大精度进行高亮,可以调用apply()方法并传入一个回调函数。 阅读全文
摘要:
近期在超算云上跑代码遇到了个乌龙,就是作业一提交到集群上去先是PD状态,然后马上就终止调了。后来知道是我用户目录下文件数量太多,导致已经超过管理员给我分配的磁盘配额了(众所周知机器学习相关项目的数据集一般有很多文件)。这边特此记录一下如何查看磁盘配额数据。超算用的是Lustre文件系统,该系统是一种并行分布式文件系統,通常用于大型计算机集群和超算。Lustre是源自Linux和Cluster的混成词。查看该类文件系统磁盘配额的命令为lfs quota。 阅读全文
摘要:
pip是个安装包的软件,conda是个环境管理的工具。conda能够安装多个python解释器,pip不行。conda install这种方式安装的库都会放在/Users/orion-orion/miniforge3/pkgs目录下。这样的好处是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。 阅读全文