
杂记
江南蜡笔小新
这个作者很懒,什么都没留下…
展开
-
-tf.reduce_sum(one_hot_labels * log_probs, axis=-1)是什么损失函数?
-tf.reduce_sum(one_hot_labels * log_probs, axis=-1)是什么损失函数?由于BERT代码当初是用Tensorflow1.x发布的,阅读代码时没太看懂这个loss function原创 2022-09-15 17:01:57 · 923 阅读 · 1 评论 -
tf1.x和tf2.x查看TFRecord数据的方法
【代码】tf1.x和tf2.x查看TFRecord数据的方法。原创 2022-09-05 19:26:58 · 873 阅读 · 0 评论 -
三行代码:使用一个数组(list)对另一个数组(list)进行排序
Python自带的库中没有直接提供使用一个数组对另一个数组进行排序的方案,但有很直接的解决方案:example:arr1=[5,3,1,4,2]arr2=['e','c','a','d','b']sorted(zip(arr1,arr2))排序后:[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]这个例子中就是使用arr1对arr2进行排序,简单来说就是利用了zip打包在一起,然后arr1中的元素作为key进行排序。...原创 2022-05-19 16:11:51 · 527 阅读 · 0 评论 -
相对位置编码两篇简要笔记
Shaw P, Uszkoreit J, Vaswani A. Self-attention with relative position representations[J]. arXiv preprint arXiv:1803.02155, 2018.结合相对位置和绝对位置表征,翻译质量没有进一步提高。英德互译实验结果In our experiments we did not observe any benefit from including sinusoidal position ..原创 2022-04-25 19:42:46 · 559 阅读 · 0 评论 -
[笔记]BERT数据预处理超长句子的逻辑
if i == len(document) - 1 or current_length >= target_seq_length: if current_chunk: # `a_end` is how many segments from `current_chunk` go into the `A` # (first) sentence. a_end = 1 if len(current_chunk) >= 2...原创 2022-04-09 20:25:01 · 1454 阅读 · 0 评论 -
[Bug]TypeError: save_pretrained() missing 1 required positional argument: ‘save_directory‘
记录一个Bug,Bug产生的原因:继承了huggingface的tokenizer类。解决方法:构建复写新的完整的父类原创 2022-04-09 18:48:23 · 634 阅读 · 0 评论 -
查看tfrecord数据内容
import sysimport tensorflow as tfimport configdef main():filepath = config.data_path_tfwith tf.Session() as sess:filenames = [filepath]# 加载TFRecord数据ds = tf.data.TFRecordDataset(filenames)# 读取N条ds = ds.batch(2)ds = ds.prefetch(buffer_size=tf.con转载 2022-04-03 23:09:29 · 686 阅读 · 0 评论 -
[解决方案] ModuleNotFoundError: No module named ‘propeller‘
在使用Paddle某个预训练模型中,报错ModuleNotFoundError: No module named ‘propeller’官方推荐使用export PYTHONPATH=./:$PYTHONPATH由于并不是一个独立的环境,所以不想添加环境变量。采取另外一种临时解决方案为:将上述代码粘贴到import propeller之前即可...原创 2021-12-20 19:22:32 · 593 阅读 · 0 评论 -
[解决方案] from propeller.paddle.data import feature_pb2, example_pb2报错
在使用飞桨Paddle某个预训练模型时, from propeller.paddle.data import feature_pb2, example_pb2报错ImportError: cannot import name ‘feature_pb2’ from ‘propeller.paddle.data’查阅了很多资料,均没有相关信息,追溯到手册发现,可能是版本迭代更新的问题。解决方案如下:原创 2021-12-20 19:21:27 · 383 阅读 · 0 评论 -
不手动配置json文件,vscode选择python环境/解释器
vscode作为免费的编辑器,支持各种语言,只是配置稍显麻烦,网上花里胡哨的json文件不但折磨人,复制粘贴了还不一定能用。这种现象现在已经改观许多了,通过下面这行命令,可以不用手动配置json文件,直接选择。第一步,Ctrl+p,顶端会出现一个命令输入窗口。第二步,复制下面这行代码。(注意,要包括前面那个尖尖)此时就会弹出环境选择的界面:...原创 2021-12-19 18:04:43 · 1003 阅读 · 0 评论 -
DDP/DistributedDataParallel 报错RuntimeError: Address already in use
在测试pytorch多卡的时候报错:store = TCPStore(master_addr, master_port, world_size, start_daemon, timeout)RuntimeError: Address already in use经查,是还有另外一个任务也在用DDP跑,解决方案:...原创 2021-12-16 14:23:01 · 4992 阅读 · 1 评论 -
[解决方案]ModuleNotFoundError: No module named ‘datasets‘
报错ModuleNotFoundError: No module named ‘datasets’解决方案如下:原创 2021-12-14 21:34:12 · 18477 阅读 · 4 评论 -
怎么同时安装pytorch与tensorflow对应兼容的版本
最近做到一个项目,需要混合使pytorch与tensorflow.并且tensorflow要求1.15.查阅cuda与cudnn版本对应之后, 由于平时使用的pytorch,pytorch也可以指定cuda套件版本,于是乎先装了pytorch1.7,然后尝试用cuda安装tensorflow1.15,却死活都装不上,换成pip装上之后检测不到GPU.cuda与cudnn均是按官网要求来的.conda排查兼容性问题, 结果奇怪,所有的依赖都在其显示的要求之内.后来全部卸载,先裝了tensorfl原创 2021-12-10 23:03:25 · 2764 阅读 · 0 评论 -
[实时更新]tensorflow与cuda cudnn版本兼容性
官方实时更新地址:[tensorflow与cuda cudnn版本兼容性]tensorflow与cuda cudnn版本兼容性](https://tensorflow.google.cn/install/source#gpu)避免某些朋友浏览不太方便,这里给出最新的结果:Linux:Windows:原创 2021-12-10 21:53:13 · 2324 阅读 · 0 评论 -
[小技巧] 如何让vscode目录不折叠?
在使用VsCode中, 发现如果是单层文件夹的话,vscode会把目录折叠起来.虽说对于Java的包结构也许会清晰很多,但对于Python用户真的并不是那么方便.解决方案:ctrl+, 打开设置搜索把这个钩取消掉即可恢复为一个正常的VSCode...原创 2021-11-26 21:03:26 · 6219 阅读 · 0 评论 -
[解决方案] 如何让Ubuntu 切换程序不合并标签
Ubuntu使用Alt+Tab的时候发现会把同一个应用程序的窗口合并在一起,要点击箭头才能选具体的窗口.对这个功能, 我表示很不理解.解决方案:设置->设备->键盘我们可以看到默认的切换窗口是禁用的, Alt+Tab指向的是切换应用程序.我们直接把切换窗口改成Alt+Tab, 切换应用程序的快捷键会自动禁用.此时即可流畅切换....原创 2021-11-25 18:12:15 · 1705 阅读 · 0 评论 -
[pandas] df.append()之后数据为空/保存为空的解决方案
从文档中,我们可以推测出这并不是一个原地 操作,而是会返回一个新的DataFrame,目测是通过类似拼接的方式实现的,所以正确的使用方法应该是: df_out=df_out.append({'err':err,'predicted':corrected_sent,'target':cor}, ignore_index=True)...原创 2021-11-21 16:58:16 · 2287 阅读 · 1 评论 -
[Pandas] pd 报错TypeError: Can only append a dict if ignore_index=True
使用df.append()方法以dict形式添加数据时报错:TypeError: Can only append a dict if ignore_index=True通过报错信息,我们知道要求ignore_index=True,解决方案: df_out.append({'err':err,'predicted':corrected_sent,'target':cor},ignore_index=True)...原创 2021-11-21 16:43:23 · 6569 阅读 · 0 评论 -
[解决方案]Python安装 kenlm 报错
使用pip install kenlm 报错:python/kenlm.cpp:6381:13: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?tstate->exc_traceback = *tb;^~~~~~~~~~~~~curexc_tracebackerror: command ‘gcc’ failed with原创 2021-11-20 23:45:01 · 1879 阅读 · 0 评论 -
[解决方案]如何一次性关闭所有GPU/CUDA进程
在最近的模型并行化工程当中,异常退出之后会出现GPU进程挂起无法关闭的情况.报错RuntimeError: Address already in use网上的主流的方案是kill -9 PID等命令.可我有16个进程,这样一个个杀有些繁琐.查阅资料之后,在这里提供另外一种方法:$ kill $(ps aux | grep YOUR_TRAINING_SCRIPT.py | grep -v grep | awk '{print $2}')上述方法来来自于https://leimao.gith原创 2021-11-04 17:21:11 · 2815 阅读 · 2 评论 -
[问题笔记]PyTorch使用tensorboard报错‘Tensor‘ object has no attribute ‘items‘
for tag, scalar_value in tag_scalar_dict.items():AttributeError: ‘Tensor’ object has no attribute ‘items’makefile:12: recipe for target ‘train’ failedmake: *** [train] Error 1问题出现原因:误将 writer.add_scalar写成 writer.add_scalars,这是两个不同的函数 def add_scala原创 2021-10-27 16:23:59 · 4899 阅读 · 0 评论 -
[Pytorch] ValueError: sampler option is mutually exclusive with shuffle
踩坑记录:pytoroch利用DDP(DistributedDataParallel)进行单机多卡的训练时,提示:ValueError: sampler option is mutually exclusive with shuffle原因:使用了DistributedSampler,而在dataloader中,sampler和 shuffle不能同时为真.但由于模型确实需要使用shuffle,不能因为加快速度不管准确性了啊查阅文档,得知DistributedSampler中shuffle原创 2021-09-24 20:37:13 · 4787 阅读 · 2 评论 -
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you
Pytorch报错:RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the ‘spawn’ start method问题背景:在dataloader中,使用了多线程处理数据,并且自定义了collate_func解决方案:如果不是特别大的消耗,可以取消调用该函数的cuda方法如果一定要使用,Python 3 支持进程之间共享 CU原创 2021-09-20 15:31:02 · 5375 阅读 · 1 评论 -
[pandas]报错No module named ‘openpyxl‘
使用pandas , 将csv转Ecexl xls文件报错No module named ‘openpyxl’需要额外安装xls库conda环境下可以用:conda install openpyxlbase环境下也可以用:pip install openpyxl原创 2021-09-19 17:18:04 · 1763 阅读 · 0 评论 -
[Pytorch] Error:module ‘torch‘ has no attribute ‘logical_and‘
最近学习的模型用到了这个逻辑与的操作,Pytorch 1.3.x报错。查阅官方文档,只有logical_not和logical_xor的实现。1.5.1搜索结果...原创 2021-09-12 13:47:19 · 1729 阅读 · 2 评论 -
[解决方案]PyCharm中md文件无法复制
@Ubuntu 18.04@PyCharm专业版发现了一个令人不爽的问题,在PyCharm中Markdown的md文件预览的时候不能复制md文件的内容。不知道有没有人碰到同样的问题,下面是我的解决办法:PyCharm中ctrl+slt+s打开设置:点击插件,进入插件市场:找到markdown editor( 白色的这个),第一个是推荐默认安装的,我用它打开无法无法复制。按提示安装好,重启pycharm再次打开一个md文件,此时底部会出现一个选项卡点到markdown原创 2021-09-09 20:48:55 · 976 阅读 · 0 评论 -
numpy.argpartition()的作用
上面是官方文档的说明.numpy.argpartition(a, kth, axis=- 1, kind='introselect', order=None)使用 kind 关键字指定的算法沿给定轴执行间接分区。 它以分区顺序沿给定轴返回与该索引数据具有相同形状的索引数组。 1.8.0 版中的新功能。 参数 类似数组 要排序的数组。 kthint 或整数序列 要分区的元素索引。 第 k 个元素将处于其最终排序位原创 2021-08-26 20:51:26 · 3165 阅读 · 0 评论 -
python调试断点失败(不停止)
最近分析代码出现了这样一个问题: def __getitem__(self, idx): feature = self.feature_list[idx] return self._get_feature(feature)其中self._get_feature(feature)是重写的一个子类方法在self._get_feature(feature)下断点无法正常中断解决方案:将断点下在return self._get_feature(feature)处,单原创 2021-08-25 15:56:07 · 1390 阅读 · 0 评论 -
Ubuntu没有屏幕亮度调节怎么调整屏幕亮度?
最近新买了一台显示器,亮度太高了亮瞎眼,发现Ubuntu18.04下没有亮度调节入口.在设置里面也没有找到.网上查询,得到如下解决办法可以开启亮度调节滑动条,各位可以一试:打开终端输入sudo gedit /etc/default/grub并输入密码此时会打开一个文本编辑器,将GRUB_CMDLINE_LINUX_DEFAULT修改为GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor acpi_osi=L原创 2021-08-25 11:49:20 · 8931 阅读 · 4 评论 -
Cython中cdef int [:]的作用
Cython代码中提供了cdef type [:] 的写法,那么cdef int [:]到底是什么意思呢?Memoryview切片Cython 0.16中,增加了记忆体视图(memoryview),用它可以很方便地存取NumPy等buffer层面的中的资料。Memoryview切片(Memoryview slices)是Cython中的一种特殊类型,通过它可以高效地访问支持buffer的Python实例内部的资料区,例如NumPy中的ndarray。下面我们通过一个例子说明它的用法def memvi原创 2021-08-24 16:18:42 · 647 阅读 · 0 评论 -
Cython中“@cython.boundscheck\@cython.wraparound(False)”有什么用?
Cython代码中通常会出现@cython.boundscheck(False)这样的语句.Boundscheck 是一种安全检查,您正在访问向量边界内的索引。如果您不费心检查索引是否可以越界,那么它会更快。执行检查需要时间。也就是说,如果 boundcheck 为真,它将在读取或写入内存之前检查索引是否在向量的范围内。如果不是,它会抛出错误。如果 boundcheck 为 false,即使索引越界,它也会读取或写入指针,通过读取和写入内存破坏数据来给出错误数据。数组查找仍然受到两个因素的影响:原创 2021-08-24 14:47:31 · 864 阅读 · 0 评论 -
如何查看Cython版本号?
安装了Cython,无法确定版本号,可以使用如下命令查看:在终端输入:原创 2021-08-24 14:34:07 · 3660 阅读 · 0 评论 -
[真正能用]CentOS 7.x升级安装 git 2.x出错的非源码编译解决方案
CentOS 7.x安装 git 2.x 时,使用编译的方法报错/usr/bin/ld: warning: libcom_err.so.3, needed by /data01/liuyi/anaconda3/lib/libcurl.so, not found (try using -rpath or -rpath-link)/usr/bin/ld: warning: libssl.so.10, needed by //usr/lib64/libssh2.so.1, may conflict with原创 2021-08-20 19:09:14 · 853 阅读 · 0 评论 -
[联想官方工具]关闭Win10自动更新工具 最新版 2.6.21.816
【蓝奏云下载】Lenovo Quick Fix:关闭或开启Win10系统的自动更新来源:联想知识库-[联想官方工具]关闭Win10自动更新工具 2.6.21.816下载链接:下载:https://wwi.lanzoui.com/i3kv3stibof密码:ay0r原创 2021-08-18 22:07:19 · 5288 阅读 · 0 评论 -
什么是Cutoff Scores/Marks?
最近看的一个模型使用到了Cutoff Scores这个概念,之前没有接触个这个概念,并且在论文中也没有提到这个概念,查了一下。根据wiki各方面的解释:https://en.wikipedia.org/wiki/Cutoff结合代码,姑且这样认为:Cutoff Scores就是一条合格线(一个阈值),不符合Cutoff Scores标准视为不合格,采取算错误或忽略的措施(根据代码逻辑及需求而定)。欢迎指正。...原创 2021-08-14 14:06:45 · 1015 阅读 · 1 评论 -
[最完整版本]详细例子,np.cumsum()你只看这一篇就够了!
文章目录1.定义2. 实际用例分析2.1在axis=None时2.2 当指定axis时2.2.1 axis=1 and axis=22.2.1 axis>2?3.小结1.定义老规矩,遇事不决,先查手册,下面是关于 numpy官方手册中关于np.cumsum()的定义与例子:同时,官方提供了几个例子:>>> a = np.array([[1,2,3], [4,5,6]])>>> aarray([[1, 2, 3],[4, 5, 6]])>&g原创 2021-08-13 20:30:21 · 6420 阅读 · 0 评论 -
[问题记录]Ubuntu下VScode 终端报错信息不变红色
最近想使用某个vs插件,配置了vscode的python环境,发现报错信息不是以红色输出的,如下:查阅了很多资料,试了很多方法,虽然目前没有解决方案,但在stackoverflow上找到了可能原因:the console that vscode uses, is driven by powershell/bash然后又试了很多主题方案,无解,倒是把终端整得个花里胡哨的…希望同样碰到此问题的朋友能把解决方案分享一下,感激不尽!...原创 2021-08-13 16:23:24 · 1166 阅读 · 1 评论 -
[中文]什么是Log probability?- 摘自维基百科
中文维基百科中没有关于log probability的词条,故将英文维基机翻之后上传至此。原文链接https://en.wikipedia.org/...原创 2021-08-11 19:29:51 · 2340 阅读 · 0 评论 -
[真正可用]Linux怎么查看系统信息系统版本
网上有多个查看Linux系统信息的方法,逐一测试,记录一下真正可用的命令1、cat /etc/issue,此命令也适用于所有的Linux发行版。(base) [root@igpu2 ~]# cat /etc/issue\SKernel \r on an \m不可用2、cat /etc/redhat-release,这种方法只适合Redhat系的Linux:(base) [root@igpu2 ~]# cat /etc/redhat-releaseCentOS Linux release 7原创 2021-08-11 17:21:06 · 142 阅读 · 0 评论 -
Ubuntu下安装支持ssh的FTP工具 FileZilla(中文版)
FileZilla 客户端是一个快速可靠的、跨平台的FTP,FTPS和SFTP客户端。具有图形用户界面(GUI)和很多有用的特性。sudo apt-get install filezilla打开可以看到,在中文模式下(并且是中国镜像),已经自动变成中文版了。如果没有,那可以尝试以下两条命令。sudo apt-get install filezilla-localesorsudo apt-get install filezilla-common...原创 2021-08-11 14:56:14 · 1474 阅读 · 0 评论