mozilla语音识别框架 deepspeech 初探

安装

pip3 install deepspeech-gpu

运行

deepspeech output_model.pb my_audio_file.wav alphabet.txt

deepspeech output_graph.pb LDC93S1.wav alphabet.txt

报错

2017-12-01 09:35:28.879923: F tensorflow/core/platform/cpu_feature_guard.cc:35] The TensorFlow library was compiled to use AVX2 instructions, but these aren't available on your machine.
Aborted (core dumped)

issue 说明 :

https://github.com/mozilla/DeepSpeech/issues/1023

lscpu

Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz

CPU 只有 avx 指令集,没有 avx2

换到 阿里云的机器,CPU版本是 E5-2682 .可以用

pip3 install deepspeech

deepspeech output_graph.pb LDC93S1.wav alphabet.txt

output_graph.pb 下载地址

wget  https://s3.amazonaws.com/deep-speech/output_graph.pb

LDC93S1.wav  在

https://github.com/mozilla/DeepSpeech/tree/master/data/smoke_test

自己录了几段都不认,对音频格式了解不多,留个坑以后填。

alphabet.txt 在

wget https://raw.githubusercontent.com/mozilla/DeepSpeech/master/data/alphabet.txt

识别的结果:

(CPU,5.394s) shehadyeducksoingrecywachworallyear

(GPU,1.286s) she had ye duck so ingrecy wachwor all year

不知道为毛线,CPU版没空格,GPU版有。

原文对照:

She had your dark suit in greasy wash water all year.

TensorFlow Lite 初探

目录位置在

tensorflow/contrib/lite/java/demo

下载训练好的model

https://storage.googleapis.com/download.tensorflow.org/models/tflite/mobilenet_v1_224_android_quant_2017_11_08.zip

解压后放到这里

tensorflow/contrib/lite/java/demo/app/src/main/assets/

中文版lables:  TensorFlow Demo labels 文件中文版(汉化进行中)

build 的时候,

gradle 版本提示需要 3.5 ,当前是 3.3

升级,不带  ./ 可能报 gradlew: command not found

./gradlew build

Project Structure -> Project

修改  Gradle version 为  3.5

再去build : OK

之前TensorFlow Android 编译完体积 50m ,Lite 版本 编译完 7m多。

图片的语义分割实战

作为一个小白,当然是找个demo 跑一跑了。

优先选择熟悉的 tensorflow ,感谢 fly51fly 老师微博推荐各种好玩的研究。

第一站:Mask_RCNN

git clone https://github.com//matterport/Mask_RCNN

wget https://github.com/matterport/Mask_RCNN/releases/download/v2.0/mask_rcnn_coco.h5

需要 jupyter 环境

sudo pip3 install jupyter notebook
ipython
from notebook.auth import passwd; passwd()

需要设置两次密码,
得到 ‘sha1:———————–‘,复制该字符串,之后需要用到

jupyter notebook --generate-config

#将会在home目录下生成一个隐藏文件夹.jupyter,该文件夹中有一个jupyter的配置文件;

vim  ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '*'
c.NotebookApp.password = u' sha1:-----' #这里就是上面的字符串
c.NotebookApp.port = 8000 # 这里的端口可以自己定义,是之后连接的时候需要设定的
安装 coco,据说下面这个修复了一个 python3 的bug。
https://github.com/waleedka/coco

tensorflow 需要升级到 1.3 +

sudo pip3 install –upgrade tensorflow

识别效果

模特的微博:https://weibo.com/u/2594299172

DeblurGAN 安装调试笔记

DeblurGAN  消除运动模糊

源码地址

https://github.com/KupynOrest/DeblurGAN

下载 weight 文件(dropbox 网盘下不了的,可以找我要。

原链接的 latest_net_G.pth  文件莫名消失了,下载见下面。

链接: https://pan.baidu.com/s/1nvQQNGH 密码: 8ab2

要 latest_net_D.pth 的朋友也不少,上传一下。

链接: https://pan.baidu.com/s/14Lq2YUYoeDYRslgUbShZNQ 密码: k4j5

下载安装 pytorch

http://pytorch.org/

选择系统和安装方式
执行后,下载很慢,迅雷下好后上传。
sudo pip3 install torch-0.2.0.post3-cp35-cp35m-manylinux1_x86_64.whl
sudo pip3 install torchvision

test.py 里 SSIM  直接  import ssim 就好

NameError: name 'use_parallel' is not defined

models/test_model.py   里  的  use_parallel 替换为 True。

test 命令

python3 test.py --dataroot ./testimage  --model test --dataset_mode single --learn_residual --resize_or_crop scale_width

testimage 是存放图片的目录,–resize_or_crop  scale_width 是保持图片原大小。

加 scale_width 后 处理有些图片时显示如下错误

RuntimeError: invalid argument 3: sizes do not match at /pytorch/torch/lib/THC/generated/../generic/THCTensorMathPointwise.cu:217

resize_or_crop 也可以选择  false ,但是容易爆内存。内存不足的时候推荐用 resize_and_crop

去模糊效果很不错

 

 

和 SR 一起处理的效果

待解之谜:不知道怎么能跑成翻转图像,很神奇。

终于试出来了,去掉

--learn_residual

就能出现这个效果。

效果:

原图

重新 clone 代码后正常,问题可能是某个参数错了,或文件损坏。

 

人比人得死。贾佳亚 的 Robust Motion Deblurring 效果。

开个坑,摄像头的超分辨率重建

调试 waifu2x

安装torch时  ./install.sh 时出错:

readline.c:8:31: fatal error: readline/readline.h: No such file or directory
compilation terminated.

Error: Build error: Failed compiling object readline.o

解决:

sudo apt-get install libreadline-dev
sudo apt-get install libssl-dev

重建效果,还不错。

 

 

体验地址


http://br.bj.oupeng.com:10080/http://property.coomanga.com/comic/junengwan/shenmilaogongbulihun/cover.jpg

http://br.bj.oupeng.com:10080/ + 能正常访问的图片链接

 

DeblurGAN
仓库地址:https://github.com/KupynOrest/DeblurGAN

安装调试笔记
http://www.kaishixue.com/deblurgan/

相关资源:

论文,汤晓鸥2015年的论文
https://arxiv.org/pdf/1501.00092.pdf

知乎如何通过多帧影像进行超分辨率重构?
https://www.zhihu.com/question/25401250/answer/33417898

一个二次元超分辨率重建
http://blog.csdn.net/aichipmunk/article/details/53704139
https://github.com/nagadomi/waifu2x

 

TensorFlow Android demo 调试记录 ( macOS )

特别注意:全程请保持网络能正常访问 google

GITHUB:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android
  1. 准备  android 5.1  版本以上的 手机 低版本的不支持。
  2. 下载 tensorflow 源码
    git clone --recurse-submodules https://github.com/tensorflow/tensorflow
    git clone git@github.com:tensorflow/tensorflow.git
  3. 用 android studio 打开
  4. 试着 run了一下 出现错误
    Error:Execution failed for task ':buildNativeBazel'.
    
    > A problem occurred starting process 'command '/usr/local/bin/bazel''
    1. 需要安装  bazel  ( 我在 mac 上开发的。 ubuntu 或者window 参考  https://docs.bazel.build/versions/master/install-os-x.html
      brew cask install caskroom/versions/java8
      brew install bazel
    2. 需要安装 NDK
      android studio : file -> project structure -> SDK location    最后的  Android NDK location 如果为空 ,点下面的 download  下载,并解压。将路径填到上面的框里。

      https://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip
  5. 到tensorflow 工作目录 编译(需要下载包)
  6. bazel build -c opt //tensorflow/examples/android:tensorflow_demo
  7. 出错误  ,原因是 tensorflow 工作目录里没有 andorid sdk
  8. This build requires an Android SDK. Please add the android_sdk_repository rule to your WORKSPACE.
  9. clang: error: unknown argument: '-m<platform_for_version_min>-version-min=11.1'

    打开 tensorflow 根目录下的 WORKSPACE 编辑  sdk 和 ndk

  10. 又报错误
    C++ compilation of rule '@protobuf_archive//:protobuf' failed (Exit 1).
    
    fatal error: 'stdlib.h' file not found
    
    #include <stdlib.h>

    原因是 git 时没有加   –recurse-submodules 参数  。用于获取 TesorFlow 依赖的 protobuf 库

  11. 依然还有错误,一堆 .h 文件找不到。查了些资料,说 NDK不能超过 r12b ,重新下载个 r12b , 替换掉默认的。( tensorflow 文档推荐的是 14b,我没有试应该也可以。我之前下的是 16)
    https://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip
  12. OK成功
    Target //tensorflow/examples/android:tensorflow_demo up-to-date:
    
     bazel-bin/tensorflow/examples/android/tensorflow_demo_deploy.jar
    
     bazel-bin/tensorflow/examples/android/tensorflow_demo_unsigned.apk
    
     bazel-bin/tensorflow/examples/android/tensorflow_demo.apk
    
    INFO: Elapsed time: 861.504s, Critical Path: 99.12s
  13. 编译完的 apk 在一个非常诡异的位置
    //tensorflow/bazel-out/darwin_x86_64-opt/bin/tensorflow/examples/android/tensorflow_demo.apk
    adb install -r  ./bazel-out/darwin_x86_64-opt/bin/tensorflow/examples/android/tensorflow_demo.apk

    mac安装 adb

    brew cask install android-platform-tools

     

  14. 可能出现如下错误
  15. Gradle sync failed: Cause: error in opening zip file
     Consult IDE log for more details (Help | Show Log) (451ms)

     

    将 gradle-wrapper.properties  中

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

    替换成

    distributionUrl=http\://services.gradle.org/distributions/gradle-4.1-all.zip

    出错误Xcode version must be specified to use an Apple CROSSTOOL

bazel clean --expunge

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

sudo xcodebuild -license

  1. 附,解决最后问题的一篇文章,顺带致谢。
    http://blog.csdn.net/wojiaopanpan/article/details/77488056

Lite 版 移步 

机器学习在线教程汇总

    1. 机器学习笔记
      • https://clyyuanzi.gitbooks.io/julymlnotes/content/dl_cnn.html
    2. 吴恩达的早起教学公开课
      • http://open.163.com/special/opencourse/machinelearning.html
    3. 斯坦福大学公开课:傅里叶变换及其应用
      • http://open.163.com/special/opencourse/fouriertransforms.html
    4. 写个神经网络,让她认得我`(๑•ᴗ•๑)(Tensorflow,opencv,dlib,cnn,人脸识别)
      • http://tumumu.cn/2017/05/02/deep-learning-face/
    5. Cats vs. Dogs  猫狗大战(kaggle 数据集)
      • 数据集地址 500m train  240m test(要注册,验证手机号【记得前面加 86】)
        • 不能下载的朋友,请联系我索要数据。
        • https://www.kaggle.com/c/dogs-vs-cats
      • tensorflow 训练的一个教程
        • http://v.youku.com/v_show/id_XMjY4MTA0MDI1Mg==.html?sharefrom=iphone&sharekey=6db19ae7604206b7ce9f0f31ff01ffd46
      • keras 冲击 2%(杨培文的教程)
        • https://ypw.io/dogs-vs-cats-2/#more
        • https://github.com/ypwhs/dogs_vs_cats
        • 导出特征向量时,不知道版本还是什么原因 nb_sample 要替换成 samples 才能run 过去。
        • func_name 要替换成 ” __name__ “
        • InceptionV3  和 Xception  的 model 在 aws 的 s3 上,我这里直接下载 timeout。看错误信息,地址是 https 的,换成 http 成功。
          • 解决办法:
          • 删掉代码里的  inception_v3.preprocess_input   和  xception.preprocess_input
            cd  ~/.keras/models/
            wget http://github.com/fchollet/deep-learning-models/releases/download/v0.4/xception_weights_tf_dim_ordering_tf_kernels_notop.h5
            wget http://github.com/fchollet/deep-learning-models/releases/download/v0.5/inception_v3_weights_tf_dim_ordering_tf_kernels_notop.h5
  • Deep Learning Tutorials
    • http://deeplearning.net/tutorial/
    • 中文版 : https://github.com/Syndrome777/DeepLearningTutorial
  • YOLO 相关的教程
    • 详解:YOLO-darknet训练自己的数据
      • http://blog.csdn.net/Jinlong_Xu/article/details/75577007
    • YOLO标注工具
      • https://github.com/AlexeyAB/Yolo_mark
  • TensorFlow 官方文档中文版
    • http://wiki.jikexueyuan.com/project/tensorflow-zh/
  • [MXNet/Gluon] 动手学深度学习,难得的中文视频教程
    • 讲师主页:http://zh.gluon.ai
    • 视频地址:https://space.bilibili.com/209599371#!/channel/detail?cid=23541

机器学习数据集

深度学习强烈依赖数据集和算力。google的逆天对抗网络非我等凡人能搞定。寻找合适数据集的工作贯穿学习和工作的始终,总结如下。如有朋友不小心误入,欢迎加微信探讨,现服务于 opera 欧朋 :endpang

机构:

加州大学尔湾分校:http://archive.ics.uci.edu/ml/

Kaggle datasets : http://www.kaggle.com/datasets

Aws datasets :  http://aws.amazon.com/fr/datasets/

列表:

http://dataportals.org

http://opendatamonitor.eu

http://quandl.com

用过的数据集:

其它参考: