LoginSignup
3
2

More than 5 years have passed since last update.

WindowsホストのDocker環境でTensorFlowと音声処理ライブラリPyAudioを使う

Last updated at Posted at 2016-07-29

WindowsホストのDocker環境でTensorFlowを使っているが、音声処理をしたいと思ってPyAudioライブラリを導入しようとしたところつまづいたのでメモを走り書き

後で書き直すかも

環境
WindowsホストのDocker使用の仮想環境

要はUbuntuだったらできるだろうと思われる

目的
TensorFlowとPyAudioを同時に使いたい

まず、いつもはどのような手順で仮想環境を環境を立ち上げてるかと言うと

//////////////////////////////////////////////////////////

-Docker Quickstart Terminalを立ち上げる(仮想マシン[default]が起動)

Oracle VM VirtualBox マネージャーで
[いつも使ってる仮想マシン名]を起動

次を実行
$ docker-machine ssh [いつも使ってる仮想マシン名]

boot2dockerで次を実行

$ docker run -v //c/Users/********/tensorflow:/root -it b.gcr.io/tensorflow/tensorflow:latest-devel

(上記設定により下記のディレクトリがwindowsとtensorflowで共有される
C:\Users********\tensorflow)

これでpythonを、1行ずつ実行は
$ python

テキストファイルで実行は
$ python file名
//////////////////////////////////////////////////////////

pyaudioをインストールしたいが、

$ pip pyaudio --proxy=http://**************:8080

とやってもうまくインストールできなかった
portaudioが必要とか何とか色々あるが…

どうやらapt-get と言うやつを使うらしい

必要ならプロキシ設定をしておく
$ export http_proxy="http://your.proxy.address:8080/"

インストールできるライブラリのリストをとりにいく
$ apt-get update

リスト内にpyaudioがあるか検索
$ apt-cache search portaudio

pyaudioらしきもの(python-pyaudio)があったのでインストール
$apt-get install python-pyaudio

pip listで確認してみると
$pip list

ちゃんとPyAudio(0.2.7)があった!

しかしここで、コンテナを落してから上の仮想環境起動の
$ docker run -v //c/Users/********/tensorflow:/root -it b.gcr.io/tensorflow/tensorflow:latest-devel

をやると、PyAudioのインストールされていない新しいコンテナが立ち上がるだけ。試しに
$ pip list

をやるとPyAudio(0.2.7)がないはず

なので、さきほどと同じコンテナを立ち上げる

今まで作成したコンテナを確認する
$ docker ls -a

PyAudioをインストールしたコンテナを見つけ、コンテナ名を確認する。仮の名前がついている。

docker@*****:~$ docker ps -a
CONTAINER ID IMAGE COMMAND
CREATED STATUS PORTS NAM
ES
017422a67b2e b.gcr.io/tensorflow/tensorflow:latest-devel "/bin/bash"
About an hour ago Exited (0) About an hour ago stu
pefied_einstein
c2dffdeba366 b.gcr.io/tensorflow/tensorflow:latest-devel "/bin/bash"
About an hour ago Exited (0) 12 seconds ago tco
ntainer
9b29177d149a simage "/bin/bash"
About an hour ago Exited (0) About an hour ago sco
ntainer

何分前にコンテナから抜けたかで探す。ここではstupefied_einsteinとかtcontainerとかscontainerが名前

名前をわかりやすい名前に変えておく

$ docker rename 旧名前 新しい名前

コンテナをstartで起動してattachで入る

$ docker start 新しい名前
$ docker attach 新しい名前

しっかりpyaudioがインストールされているか
dockerとwindowsでファイル共有できているか
など確認
$ pip list
ちゃんとPyAudioがある

$ touch test
ちゃんと共有したフォルダ(ここではC:\Users********\tensorflow)にtestファイルができた

PyAudioはサウンドカードを使うみたいなので
VirtualBoxの設定からオーディオ、オーディオを有効化にチェックがいるかも、仮想マシンを落としてから設定しておく

音を鳴らすのは試行錯誤中

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2