点击上方“菜鸟学Python”,选择“星标”公众号
重磅干货,第一时间送达
那些被遗忘的竞赛项目代码、权重可能也是一笔宝藏。很多人可能参加过许多比赛,做过许多项目,但比赛或项目结束之后,曾经写过的代码、用过的模型就被丢到了一边,甚至不久就被删掉。 这种情况并不只存在于比赛中,在学术领域同样存在。当学生训练完模型、写完论文并被学术会议接收后,该模型的 pipeline 就会被抛弃,训练数据也随之被删除。这是不是有点太可惜了? 长期参加 Kaggle 比赛的 Vladimir Iglovikov 在自己的博客中指出了这个问题,并提出了一些重新利用这些资源的建议。 Vladimir Iglovikov 是一位 Kaggle Grandmaster,曾在 Kaggle 全球榜单中排名第 19,拿到过 Carvana 图像遮蔽挑战的冠军(他的个人经历参见:《Kaggle Grandmaster 是怎样炼成的》)。
setup.cfg — flake8 和 mypy 的配置。
pyproject.toml — black 的配置。
pip install black flake8 mypy
步骤 3:black 格式化代码的方法有 100500 多种。诸如 black 或 yapf 之类的格式化工具会按照一组预定义的规则来修改代码。 阅读具有一定标准的代码库会更加容易。当你花费几个小时编写代码并需要在不同的编码风格之间切换语境时,你的意志力会被消耗殆尽。因此,没有充分的理由就不要这么做。 运行以下命令将重新格式化所有的 python 文件以遵循 black 的规则。
black .
步骤 4:flake8 运行以下命令不会修改代码,但会检查代码中的语法问题并将其输出到屏幕上。然后修改这些问题。
flake8
步骤 5:mypy Python 没有强制性的静态类型化,但还是建议将类型添加至函数参数并返回类型。例如:
class MyModel