玩手机游戏,享快乐生活!
应用
Gfit5.9.0官方下载_最新Gfitapp免费下载 微博极速版9.7.3官方下载_最新微博极速版app免费下载 TOKIT1.4.0官方下载_最新TOKITapp免费下载 桔子短租住宿-民宿2.9.7官方下载_最新桔子短租住宿-民宿app免费下载 连尚读书女生版g1.1.4官方下载_最新连尚读书女生版app免费下载 相册管家3.7.0官方下载_最新相册管家app免费下载 密修个人版1.4.1官方下载_最新密修个人版app免费下载 借吧1.0.3官方下载_最新借吧app免费下载 哈密1.1.0.0722官方下载_最新哈密app免费下载 工程通3.1.0官方下载_最新工程通app免费下载 多多学数学1.0.00官方下载_最新多多学数学app免费下载 东财国际证券3.2官方下载_最新东财国际证券app免费下载 腾讯动漫7.24.5官方下载_最新腾讯动漫app免费下载 布谷智联1.2.0_286官方下载_最新布谷智联app免费下载 服装衣信汇2.1.11官方下载_最新服装衣信汇app免费下载 口红机达人1.2.7官方下载_最新口红机达人app免费下载 指尖淘1.3.1官方下载_最新指尖淘app免费下载 浙大儿院2.2.0官方下载_最新浙大儿院app免费下载 海券宝3.0.12官方下载_最新海券宝app免费下载 狐狸慧赚3.5.1官方下载_最新狐狸慧赚app免费下载 代你玩1.0.38官方下载_最新代你玩app免费下载 每日英语听力6.06官方下载_最新每日英语听力app免费下载 淘小说-阅读赚钱5.7.1官方下载_最新淘小说-阅读赚钱app免费下载 更多
游戏
全民奇迹13.0.0官方下载_最新全民奇迹app免费下载 JJ斗地主5.07.07官方下载_最新JJ斗地主app免费下载 奥特曼酷跑之王4.2.0官方下载_最新奥特曼酷跑之王app免费下载 超级飞侠大冒险4.1.0官方下载_最新超级飞侠大冒险app免费下载 猫和老鼠5.1.1官方下载_最新猫和老鼠app免费下载 疯狂动物园1.23.0官方下载_最新疯狂动物园app免费下载 开心消消乐?1.71官方下载_最新开心消消乐?app免费下载 英雄无敌1.0.243官方下载_最新英雄无敌app免费下载 密室逃脱5逃出博物馆666.19.03官方下载_最新密室逃脱5逃出博物馆app免费下载 模拟城市:我是市长0.30.20715.12509官方下载_最新模拟城市:我是市长app免费下载 一梦江湖23.0官方下载_最新一梦江湖app免费下载 疯狂钓鱼2.10.20官方下载_最新疯狂钓鱼app免费下载 暗黑超神3.0.2官方下载_最新暗黑超神app免费下载 天天爱钓鱼2.4.20官方下载_最新天天爱钓鱼app免费下载 最强NBA1.18.291官方下载_最新最强NBAapp免费下载 天龙八部1.56.2.2官方下载_最新天龙八部app免费下载 真龙传奇0.0.2官方下载_最新真龙传奇app免费下载 我叫MT43.4.0.0官方下载_最新我叫MT4app免费下载 烧饼抢红包修改器3.3官方下载_最新烧饼抢红包修改器app免费下载 乱世曹操传1.2.41官方下载_最新乱世曹操传app免费下载 倩女幽魂1.6.4官方下载_最新倩女幽魂app免费下载 我的汉克狗1.8.8.1007官方下载_最新我的汉克狗app免费下载 我的塔防1.190712官方下载_最新我的塔防app免费下载 更多
资讯
阿里文娱资深算法专家:视频物体切割算法的三个方向与最新使用 谷歌高档研究员Nature发文:避开机器学习三大「坑」 澎思新加坡研究院正式揭牌,与多家重量级协作伙伴签定战略协作 HLT携手清华北肿发布科研成果,智能临床研制敞开新时代 深度互学习-Deep Mutual Learning:三人行必有我师 CVPR 热门论文 | Google Brain团队、UC Davis副教授、Chalmers大学副教授带你解读最前沿的CV研讨 「扬长避短」的RefineDet物体检测算法 市北GMIS | 第四范式涂威威:主动机器学习求解三要素与发展趋势 语音辨认开源东西PyTorch-Kaldi:统筹Kaldi功率与PyTorch灵活性 重回第一的BERT改进版开源了,千块V100、160GB纯文本的大模型 禁止一稿多投:NeurIPS 2019刚刚毙掉了19篇论文 巴坦群岛海域发生5.9级震 震源深度10千米 特朗普愿达成?美最高法院允许25亿美元建边境墙 古特斯对比亚海域重大船难事故深表悲痛 吉塔两国总统日互访 重点解决界问题 摩洛哥南部山区泥石造成15人死亡 美国第二季经济增速降至2.1% 中国驻使馆举行招待会庆祝中国人民放军建军92周年 日贸易争端不断升级 美被指并非“解铃人” 台歌星费玉清悉尼告别唱 自言“不舍歌坛 美国第二度经济速降至2.1% 菲宾前总统阿罗约:望菲青年亲眼看看中经济奇迹 巴勒斯坦宣布终止所巴以协议 更多
联系我们
版权说明
Welcome-牛牛游戏平台
当前位置: Welcome-牛牛游戏平台 > 资讯 > 科技

11选5缩水软件超强版:DeBug Python代码全赖print函数?换用这个一天2K+Star的东西吧

来源:Welcome-牛牛游戏平台 发布时间:2019-04-27 10:12:35 点击数:
print 函数已老,DeBug 该靠 PySnooper 了~

Welcome-牛牛游戏平台 www.nrxeeee.com.cn 小伙伴们,你们都怎样 DeBug Python 代码?是不是常用 print 大法?在本文介绍的这个项目中,deBug Python 代码再也不需求 print 了。只要给有疑问的代码加上装修器,各种信息一望而知,找出过错也就十分简略了。

这个名为 PySnooper 的项目是刚开源的,只是一天就取得了 2K+ 的 Star 量,当然这「一天」还没完毕,这个收藏量也会持续改写。

项目地址:https://github.com/cool-RR/pysnooper

Python 怎样 DeBug?

假如写着写着模型,发现模型不 work 了,那么你该怎样找出 Python 的过错句子?这种过错一般与语法无关,而是某个变量的运算发生了过错。接下来咱们就要渐渐找哪个当地有问题了,这儿最常见、最直观的办法便是 print 大法。把咱们置疑的变量打印出来,总会找到反常的当地。

假如代码中嵌入了单元测试,例如 assert 句子,那么还能缩小一些置疑规模。但一般咱们都要屡次测验,打印多个变量才干找到过错的当地。在 PyTorch 或 Keras 这样的动态核算图还好,打印出来的直接是一个值,像 TensorFlow 这样的静态核算图,打印出来是张量信息而不是值,这就很为难了。

实践上不止是机器学习,在咱们写 Python 的时分,总是想搞清楚为什么写的代码在运转时有点不大对。许多读者乐于运用断点等老练的 DeBug 东西,也有的直接运用 print 大法找过错的当地。但现在咱们不需求忧虑了,本文将介绍一个新的开源东西,它决心满满地呼吁到:「不要再运用 print 函数来 DeBug 啦~」

极简DeBug东西PySnooper

一般情况下,想要知道哪一行代码在运转、哪一行不运转、本地变量的值是多少时,大部分人会运用 print 函数,在要害部分打印某个或某组变量的值、形状、类型等信息。

而 PySnooper 让你能快速地取得这些信息,且比较之下它不需求详尽地写 print 函数,只需求向感兴趣的函数添加一个装修器就行了。咱们会得到该函数的详细 log,包括哪行代码能运转、什么时分运转以及本地变量改变的切当时刻。

比较于其他代码智能东西,PySnooper 为何如此优异?由于不需求任何设置,你就能够在劣等、不规则的企业代码库上运用 PySnooper。只需求加个装修器,并为日志输出地址指定途径就行了。

这样说或许不太直观,下面咱们能够详细看个事例,PySnooper 的优异就能一望而知。

PySnooper 事例

下面项目作者写了一个函数以将数值转换为二进制码,该函数回来的是一个二进制列表。下面咱们将装修器 @pysnooper.snoop() 加到该函数上,就功德圆满了。

import?pysnooper

@pysnooper.snoop()
def?number_to_bits(number):
????if?number:
????????bits?=?[]
????????while?number:
????????????number,?remainder?=?divmod(number,?2)
????????????bits.insert(0,?remainder)
????????return?bits
????else:
????????return?[0]

number_to_bits(6)

该函数回来的日志如下,咱们能够看到在调用 number_to_bits 函数时,赋予参数 number 的初始值为 6。然后,PySnooper 就仍是对着源代码一行行剖析了。

如上剖析所示,函数每创立一个新变量,那么这个变量的值、这个变量的改变都会展现出来。而且 PySnooper 还将循环展开,因而改变的细节愈加清晰。终究 6 的二进制版别应该是 [1, 1, 0],它的改变进程也展现在 bits 变量中。

现在经过这些详细信息,PySnooper 再也不必忧虑咱们用 print 函数强行 deBug 了。

PySnooper 详细特征

假如规范过错输出难以取得,或许太长了,那么能够将输出定位到本地文件:

@pysnooper.snoop('/my/log/file.log')

检查一些非本地变量的值:

@pysnooper.snoop(variables=('foo.bar',?'self.whatever'))

展现咱们函数中调用函数的 snoop 行:

@pysnooper.snoop(depth=2)

将一切 snoop 行以某个前缀开端,更简单定位和找到:

@pysnooper.snoop(prefix='ZZZ?')

演示 PySnooper

下面咱们最开端测验运用 PySnooper 获取 TensorFlow 的信息,假如它能获取各种张量信息,那可就太强壮了。

首要运用 pip 安装包:

pip?install?pysnooper

公然,TensorFlow 这种静态图并不能很好地获取信息,读者也可测验一下。后边咱们试了试 NumPy,希望能获取整个核算流的信息。如下代码所示,咱们创立了两个数组变量,而且 2×2 的矩阵会连乘屡次,假如能追寻到这种连乘,那就比较好处理过错。

import?pysnooper
import?numpy?as?np

@pysnooper.snoop()
def?multi_matmul(times):
????x?=?np.random.rand(2,?2)
????w?=?np.random.rand(2,?2)

????for?i?in?range(times):
????????x?=?np.matmul(x,?w)
????return?x

multi_matmul(3)

关于 NumPy,该东西的确能追寻一切可疑变量的改变进程。当然在实践运算中,矩阵乘法的维度会十分大,咱们能够直接追寻形状(Shape),而不是详细的值。

应用 | 游戏 | 资讯 | 联系我们 | Welcome-牛牛游戏平台 | 八卦 |

浙公网安备 33060202000544号
Copyright?十八楼 All Rights Reserved.

排列三预测_排列三预测官网 | 韩国快乐8官方网站 | 赛迪网 | 麻将来了怎么邀请好友 忘仙赚钱人民币 完美国际2家园怎么赚钱 在义乌放个抓娃娃机能赚钱么 麻将全集欢乐二人麻将 热血传奇现在还能卖装备赚钱吗 金山毒霸靠什么 赚钱 干个贸易公司赚钱吗 手工绘图赚钱 济南麻将怎么打