こんばんは。
寒さに負けて早くもムートンブーツを出してしまったのですが、
もっと寒くなったらどんな格好をすれば良いのでしょうか。
さて、今日はFacebookの公開している自然言語処理ライブラリ「fastText」を使ってみたいので、
その環境構築をしてみます。
インストールするぞ
とりあえず調べたらコマンドライン実行のための構築手順と、
pythonライブラリのための構築手順がごっちゃになってヒットしたのでしょっぱなから混乱します。
どどどういうことなの・・・私はpythonは書けないのでコマンド実行が良いのですが・・・。
(ググる)
とりあえず、わかったことはWindows環境よりもLinux環境の方が良さそうということ。
というわけで、MacOSにDockerコンテナを立てて試してみることにします。
こういう時にDockerはミスったらやり直しができるので便利ですね。
というわけで余談ですが、珍しくMacで記事も書いているのでなんだかわたわたします。
とりあえずDockerコンテナを立てよう
Dockerのインストールは良い・・・ですよね?
Docker For Mac | Dockerから落としてきて、
言われた通りに操作すればあら簡単という感じですぐにインストールできます。
Bash On Windows(名前変わるんでしたっけ?)でも同じようなもんだと思います。試してないけど。
まずはイメージの確認。
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE
当然何もありません。
じゃあまずは空っぽのCentOSのイメージを探して来て・・・とか思いますが、
Dockerさんはrunする時にイメージがなければちゃんと取って来てくれる賢い子なので気にしないことにします。
$ docker run -it --name fasttext centos Unable to find image 'centos:latest' locally latest: Pulling from library/centos 85432449fd0f: Pull complete Digest: sha256:3b1a65e9a05f0a77b5e8a698d3359459904c2a354dc3b25ae2e2f5c95f0b3667 Status: Downloaded newer image for centos:latest [root@596e34b5ca1f /]#
素晴らしく簡単。-itオプションは起動したコンテナにそのままアタッチする呪文です。
あ、そうでした。Dockerがメインじゃないんでした。
Let's 環境構築
プレーンなCentOSコンテナでコマンド実行用のfastTextを使うのに必要なのは以下。
これらをyumで取って来ます。
# yum install -y git make gcc gcc-c++
(なんかいっぱい出る)
あ、コンテナ内は「#」つけますね。
で、cloneしてmake。
コンテナ内だからルートで良いやという適当さ。
# git clone https://github.com/facebookresearch/fastText.git (なんかちょっと出る) # cd fastText # make (なんかちょっと出る)
これだけでおしまい。簡単。
一応インストールできているかちょっと確認。
# ./fasttext usage: fasttext <command> <args> The commands supported by fasttext are: supervised train a supervised classifier quantize quantize a model to reduce the memory usage test evaluate a supervised classifier predict predict most likely labels predict-prob predict most likely labels with probabilities skipgram train a skipgram model cbow train a cbow model print-word-vectors print word vectors given a trained model print-sentence-vectors print sentence vectors given a trained model print-ngrams print ngrams given a trained model and word nn query for nearest neighbors analogies query for analogies
大丈夫そうですね。
最小構成がわかるまでに余計なものを色々インストールしてコンテナ作りなおしたのは秘密。
今回はこれでおしまい。
次回はfastTextを使ってみます。