自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 AdaIN

都是channel-wise的,也就是对特征图每个通道求均值和标准差,从而shape=CxHxW的特征图会得到shape=Cx1x1的均值和标准差。AdaIN的全名是Adaptive Instance Normalization,源自风格迁移的论文。

2023-05-30 11:43:35 784 3

原创 Signal SIGILL: illegal instruction operand

报错Signal SIGILL的其中一种原因的。

2023-01-03 16:26:14 658 1

原创 /system/bin/sh: ./xxx: can‘t execute: Permission denied

adb shell在Android emulator下运行可执行文件时,报错:/system/bin/sh: ./xxx: can't execute: Permission denied

2022-12-05 17:56:36 5053

原创 ERROR: x86 emulation currently requires hardware acceleration!

在windows系统下,用VMware搭建Ubuntu系统,在Ubuntu中搭建安卓emulator,启动emulator时报错。

2022-12-05 17:47:46 868

原创 源码安装python报错:No module named ‘zlib‘

Ubuntu源码安装python报错:No module named 'zlib'

2022-12-02 16:46:36 4728

原创 mac安装完python没有pip命令?

在mac系统系安装了python,执行pip install发现没有pip命令。百度逛了一圈都是建议执行sudo easy_install pip安装,我就不信了。这时脑海里突然闪过pip3,对,就试试pip3 install,还真有。

2022-04-20 11:33:34 4876 2

原创 编辑距离与字符错误率CER

在语音识别场景中,字符错误率(Character Error Rate,CER)是衡量语音识别效果的一个重要指标。下文将介绍CER的原理,并且给出python实现的代码。1 编辑距离说到CER,不得不提的是编辑距离(Edit Distance),它是一个用来衡量两个序列的相似度指标。假设有两个字符串(a和b),编辑距离是指把字符串a修改成b(或者把b改成a)需要的最少编辑次数。编辑的操作只能有三种:插入(Insertion)删除(Deletion)替换(Substitution)比如,把c

2022-02-19 22:26:42 3461

原创 sklearn决策树可视化

过去,关于sklearn决策树可视化的教程大部分都是基于Graphviz(一个图形可视化软件)的。Graphviz的安装比较麻烦,并不是通过pip install就能搞定的,因为要安装底层的依赖库。现在,自版本0.21以后,scikit-learn也自带可视化工具了,它就是sklearn.tree.plot_tree()假设决策树模型(clf)已经训练好了,画图的代码如下:def tree1(clf): fig = plt.figure() tree.plot_tree(clf)

2022-02-07 21:41:52 5417 2

原创 brew install下载资源网络总是中断怎么办

问题在mac系统下用brew install命令安装软件的时候,下载资源总是下到一半就中断了,导致一直安装不上。解决思路先手动下载安装资源,再执行brew install安装。具体流程1、下载对应资源brew下载资源失败的时候会提示失败的链接,比如Download failed: https://sqlite.org/2022/sqlite-autoconf-3370200.tar.gz,复制该链接到浏览器或者其它软件进行下载。2、找到brew的缓存目录执行brew --cache找到缓存

2022-02-07 16:31:54 2209

原创 音频格式对ASR模型的影响

如果你写过read或load音频文件的程序,你会发现,音频数组和采样率通常会同时出现。如果你不知道采样率是什么,可以看看这篇文章。作为一个炼丹师,对参数的敏感已经成为条件反射,很自然会想到的一个问题是:采样率会影响模型的识别结果吗?答:会的。除了采样率,音频的属性还有采样深度、通道数等,音频的格式也各种各样,比如wav、mp3、flac等,这些会影响模型的识别吗?答:都会,但影响程度不一样。采样率采样率,简单地说,就是每秒采样的数量。语音识别场景常见的采样率有8000、16000、32000等。以

2022-01-27 20:04:36 4056

原创 Pycharm debug Process finished with exit code 1

pycharm在debug的时候,程序遇到异常时会在抛出异常的地方暂停,也就是断点。不知道哪天不小心设置了什么,最近debug遇到异常的时候程序直接退出了,提示Process finished with exit code 1。原来,在pycharm的左下角可以设置,有两个红点的地方。点进去,把Python Exception Breakpoint勾选上,debug的时候就可以在异常的地方暂停了。...

2022-01-11 20:29:28 4525

原创 soundfile读URL下载(内存中bytes类型)的音频

前面尝试过用torchaudio读取URL下载的音频,在这里,但是这要求较新版本(0.8.0)的torchaudio。如果要用到torch,那么torch的版本也要比较新(1.8.0),因为torch的版本跟torchaudio是有对应关系的。如果要用GPU,1.8.0的torch需要最低10.2版本的cuda,10.2版本的cuda又要求较高版本的显卡驱动。由于升级torchaudio导致的改动比较大,所以想寻找更加便捷的方式,它就是soundfile。安装pip install PySoundFi

2021-11-30 17:26:04 756

原创 自动检测一个python脚本依赖的python脚本

检测一个python脚本依赖的python脚本,听起来有点绕,先说一下背景吧。在做python开发的时候,随着日积月累,工程目录下会有很多py脚本,而在部署的时候只需要用到其中一小部分,无关的脚本很多,感觉很不清爽,人为一个一个去筛吧,又很麻烦,有没有工具可以自动把相关的py脚本抽出来呢?如果有,请告诉我!我没有找到,但是仔细想一下好像可以自己实现。在部署工程的时候,通常有个主程序(py脚本),但光有主程序还不够,主程序一般会依赖其它模块,有些是自己写的py脚本,工程稍微大一点就会出现层层依赖,人为去查

2021-11-24 21:22:08 1088 2

原创 torchaudio load URL下载(内存中bytes类型)的音频

python读本地音频文件(转换成数组)的方式有很多,wave、scipy、librosa、torchaudio等。可有时候音频不在本地,而是从互联网传过来的,当然可以先保存到本地再读,但这样会多了硬盘读写的过程,数据下载下来本就经过内存,能不能直接取出来呢?去度娘找了一遍没找到答案,便自己摸索了一下,被瞎猫撞到了死耗子,好像可以,用的是torchaudio.load(),先上代码。import torchaudioimport requestsfrom io import BytesIOurl

2021-11-23 14:41:41 3463 4

原创 ValueError:only one element tensors can be converted to Python scalars

把list转换成pytorch的tensor对象时,出现以下错误ValueError:only one element tensors can be converted to Python scalars具体如下,torch.as_tensor()和torch.tensor()都转不了。>>> t1 = torch.tensor([0., 1.])>>> t2 = torch.tensor([2., 3.])>>> tensor_list =

2021-11-22 18:22:21 7838 2

原创 python实现文件备注管理工具

话不多说,先上源码作为一个炼丹师,日常工作中会产生很多文件,脚本文件、数据文件、模型文件等。文件多了,有时候回过头看这些文件,都不知道是怎么来,有什么用。比如,有个数据文件A,经过处理得到文件比B,再经过处理得到文件C。这种变化过程如果不记录下来,过一段时间回头看就很难记起来了。又如,炼丹会生成很多模型文件,这些模型是由什么数据训练得到的?用了哪些tricks?这些信息可以写在配置文件里,但是配置文件与模型之间的关系,又得记录一下。有时候会通过文件命名来记录文件的关键信息,文件名一个比一个长;有时候会写

2021-11-22 10:05:22 926 2

原创 R-Drop pytorch实现

Pytorch实现了R-Drop,可以用于训练分类模型。# -*- coding: utf-8 -*-"""Description : An implementation of R-Drop (https://arxiv.org/pdf/2106.14448.pdf).Authors : lihpCreateDate : 2021/8/24"""from torch import nnfrom torch.nn import functional as Fclass RDro

2021-08-24 20:10:38 3029 26

原创 IWSLT2016下载

数据集IWSLT2016下载百度云盘链接: https://pan.baidu.com/s/1YOhnPu8ANTRihVKlSL3iuA提取码: 39fkWITShttps://wit3.fbk.eu/2016-01

2021-07-11 14:56:46 1478 2

原创 调试The Annotated Transformer

The Annotated Transformer 应该是我见过最贴心的‘Attention is All You Need’的复现了。看网页链接像是哈佛大学复现的,质量应该还不错,于是就照着代码按顺序ctrl + c +v了一遍。其实在github上也有代码可以直接下载,只不过是.ipynb格式的。在调试代码的过程中,遇到了一些问题,在这里记录一下。1 环境安装作者没有说明每个依赖库的版本,以下是我个人的版本,可以参考。python==3.8.8torch==1.9.0numpy==1.20.

2021-07-10 17:37:22 955 17

原创 目标检测数据增强——裁剪

在图像识别任务中,裁剪是一种比较常用的数据增强方法。通过numpy对图像数组进行截取就可以实现裁剪的功能。对于像目标检测这类带标注框的图像识别任务,裁剪要确保目标不被裁掉,另外,还要更新标注框的位置,因为经过裁剪后目标在图中的位置发生了变化。以下函数实现了:在保证目标点points不被裁掉的情况下,随机裁剪图像。计算原图中坐标点points在裁剪后的图像中的位置坐标。import numpy as npimport randomdef random_crop_with_points(im

2021-05-29 17:36:37 3129

原创 目标检测数据增强——旋转

在图像识别任务中,图像旋转是一种比较常用的数据增强方法。结合cv2的cv2.getRotationMatrix2D()和cv2.warpAffine()就可以实现图像的旋转。对于像目标检测这类带标注框的图像识别任务,不仅要对图像旋转,还要知道标注框被旋转到哪里了,所以还要计算坐标点的变化。下面的函数实现了:给定角度,旋转图像。自动调整图像尺寸,保证原图像的内容不会被旋转到图像外。计算原图中坐标点points在旋转后的图像中的位置坐标。import numpy as npimport cv2

2021-05-29 17:11:38 2978 2

原创 numpy实现图像90°旋转

在图像处理中有时候需要对图像进行旋转,如果要实现任意角度的旋转,则涉及线性变换的矩阵运算,比较复杂。有时候只是想实现简单的向左、向右旋转,感觉就是跟矩阵转置差不多的操作,用for循环重新排列像素点也能实现。但是也不用这么复杂,numpy提供的rot90()函数就能实现。在目标检测场景下,图像旋转还涉及到标注框坐标的变化,那么还需要多做一步,就是计算旋转后标注框的坐标,下面的函数就实现了这样的功能。import numpy as npdef rot90(image, points, times: i

2021-05-29 16:38:45 2081

原创 cv2视频转图片

import cv2import osimport numpy as npdef get_frame_name(no, fps): """ 以时分秒的形式给视频的帧命名。 Args: no (int): 帧在视频中的顺序排位。 fps (int): 帧率(frames per second)。 """ time_hour = no // (60 * 60 * fps) time_min = no % (60 * 60

2021-05-29 13:15:48 367

原创 tensorflow-gpu运行环境的cudnn版本低于编译环境的cudnn版本

问题描述:通过pip install tensorflow-gpuxxxx.whl命令安装tensorflow-gpu,tensorflow-gpu安装好了,import tensorflow也没有问题,但是在训练模型的时候报错。报错的关键信息是:Loaded runtime CuDNN library: 7.3.1 but source was compiled with: 7.6.0.那是因为tensorflow的whl安装包的编译环境的cudnn版本是7.6.0,而当前的运行环境的cudnn

2021-03-22 11:10:06 259

原创 Macbook Pro Air锁屏不进入睡眠

有时候电脑在下载东西,离开电脑顺手锁屏,不久后下载就停止了。那是因为电脑在锁屏后进入了睡眠状态,可以设置不让电脑自动进入睡眠状态。Macbook Pro Air的设置过程如下。进入【系统偏好设置】界面。找到【节能】选择【电源适配器】选项,把第一项选上。在插入电源的情况下,锁屏后电脑就不会自动进入睡眠状态了。...

2021-03-18 15:29:52 5258

原创 MacBook Pro Air读写NTFS移动硬盘数据(不需要装软件、不需要重启电脑)

MacBook Pro Air读写NTFS移动硬盘数据(不需要装软件、不需要重启电脑)据说mac系统在默认情况对NTFS格式的硬盘是只读不写的。把移动硬盘插入到MacBook Pro Air,桌面会生成一个图标,打开可以看到硬盘里面的文件,但是不可以写入文件。试了网友提供的一些解决方法,记录一下其中一个行得通的方法。不需要装软件、不需要重启电脑。在终端执行命令:diskutil list。终端会打印硬盘的信息,找到插入的移动硬盘的信息,以下的移动硬盘的名字是TOSHIBA EXT。这个名字,在桌面生成

2021-03-17 15:43:27 2360 2

翻译 Scala中的模式匹配(Pattern matching)

本文的内容源于对Scala官网关于Pattern matching的教程的翻译。PATTERN MATCHING模式匹配是一种根据模式(pattern)检查值(value)的机制。A successful match can also deconstruct a value into its constituent parts. 它是Java中switch语句的加强版,并且可以用来替代一连

2018-01-28 13:15:55 1309

翻译 Scala中的case class

本文的内容源于对Scala官网关于case class的教程的翻译。CASE CLASSESCase classes are like regular classes with a few key differences which we will go over. Case类适合作为模式固定的数据模型。在教程的下一章,我们将会看到case类在模式匹配(pattern matching)中

2018-01-28 12:52:07 1822

原创 如何在CSDN博文中插入公式?

笔者常常有这样的经历:百度搜索某个关键词后,打开一篇排序较前博文正打算细细研读时,看到繁乱的公式截图后立即关掉页面。公式截图通常清晰度较低、底色与网页背景色不一致、公式间字体大小不一致,再好的文章也会因此让人难以静下心来阅读。笔者最近由于有写博客的需要,偶然发现一种在CSDN博客插入公式的方式。如果你会LaTeX 的语法,那么在CSDN博客中插入公式就会变得很轻松,CSDN博客的编辑器能够自动识别用

2017-07-11 11:39:47 2346

原创 VNC Viewer连接后闪退

VNC Viewer连接后闪退网上有一些关于VNC Viewer连接成功后闪退的解决方案,很多都是建议通过操作“option–>Advanced–>expert–>ColourLevel”更改colourlevel的值解决问题。 本人也遇到闪退问题,发现用同样的方式无法解决。细看VNC连接linux的教程后,发现我在客户端连接服务器的时候只写IP地址,没写桌面号。 在IP地址后面加上冒号和桌

2016-02-27 11:37:48 3179

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除