JupyterNotebook で Keras インポートエラーの解決

JupyterNotebook で Keras インポートエラーの解決

ModuleNotFoundError: No module named ‘keras

Keras がインストールされていないと
メッセージがでたので

pip install keras

でインストール

しかし
jupyter notebook で今度は
Using TensorFlow backend.
となってしまう

【Jupyter Notebook】kerasのインポートエラーを解決したときのメモ

を参考に

conda config --get channels

を実行したけど何もでない

conda config --append channels conda-forge

を実行し

再度

conda config --get channels

を実行すると

--add channels 'conda-forge'   # lowest priority
--add channels 'defaults'   # highest priority

次に

conda install keras

を実行し

Proceed ([y]/n)?

となったら y を入力することで
Anaconda 環境へ Keras のインストールが成功

これで JupyterNotebook で Keras が使えるようになりました

ads.txt ファイルが含まれていないサイトがあると警告がでたときの対処

ads.txt ファイルが含まれていないサイトがあると警告がでたときの対処

Google Adsense のアプリに

要注意 – ads.txt ファイルが含まれていないサイトがあります。
収益に重大な影響が出ないよう、この問題を今すぐ修正してください。

とのメッセージが届いたため

ads.txt wordpress
で検索し

ads.txtの設置方法と書き方→WordPressへ

を参考に設定

この ads.txt は
自分のサイトの広告枠は○○○という広告主に対して許可を与えています
というものらしい

wordpress の場合
自分でテキストファイルをつくって
それをアップすればOK

このテキスト作成にあたり
サイト運営者IDが必要

これは Adsense にログインして
アカウントをクリックすれば
サイト運営者IDが表示されているので
これをコピー

あとはテキストエディタで
ads.txt を作成

私の場合は
Ubuntu なので gedit を起動

google.com, pub-サイト運営者ID, DIRECT, f08c47fec0942fa0

として
ads.txt というファイル名で保存

あとはドメイン直下のディレクトリにこのファイルをアップロード

今回は
scp コマンドで転送してから移動

scp ads.txt ユーザ名@サーバIP:/home/ユーザ名/

で転送してから ssh でログイン

sudo cp ads.txt /var/www/html/wp.developapp.net/

でドメイン直下にコピー

これで対処完了したのであとは警告が消えるのを待つだけでOK

自然言語処理 Janome のテスト

自然言語処理

N-gram は
文章を分割する単位

This is a pen なら
N-gram = 2 なら
This is
is a
a pen
というように前後2つの単語で文章を区切るようになる

N-gram = 1 なら単語ごとになり

N-gram =3 なら
This is a
is a pen
というように3つの単語で区切る

これが N-gram法

2つの単語で区切ればバイグラム
1つの単語ならユニグラム
3つの単語ならトリグラム
となる

これは英語ならできるけど
日本語だとできない
原因は単語と単語が連続しているから

なので、そのままだと日本語に N-gram が使えない

なので 形態素解析エンジンの Janome を使う

インストールは
pip コマンドを使うので
ctrl + Alt + t で端末を開き

 pip install janome

次に jupyter notebook を

jupyter notebook

で起動

これで

from janome.tokenizer import Tokenizer

tokenizer = Tokenizer()
tokens = tokenizer.tokenize('すもももももももものうち')
for token in tokens:
    print(token)

として
shift + Enter で実行すると

すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
という結果になり
解析できているのがわかる

次に分かち書き

これは
tokenize() で wakati=True を指定すればOK
あとは join()
でリストの中身をつないで
分かち書きの文字列を作成

tokenizer = Tokenizer()
tokens = tokenizer.tokenize('すもももももももものうち',wakati=True)
print(tokens)

wakati =" ".join(tokens)
print(wakati)

結果は

tokenizer = Tokenizer()

tokens = tokenizer.tokenize(‘すもももももももものうち’,wakati=True)

print(tokens)

wakati =” “.join(tokens)

print(wakati)

[‘すもも’, ‘も’, ‘もも’, ‘も’, ‘もも’, ‘の’, ‘うち’]
すもも も もも も もも の うち

Watson Natural Language Classfier

Watson Natural Language Classfier

Watson Natural Language Classifier は
自然言語分類で
NLCとも言われる

Classification は分類という意味

Watson で
Visual Recongnition を使うと
デフォルトモデルや独自の訓練データを使ったカスタムモデルで
画像分類ができる

ただし NLC はライトアカウント非対応なので
IBM Cloud アカウントにアップグレードしないとダメ

ログインしてダッシュボードに
アカウントのアップグレード
とあるので
これをクリック

ダイアログがでるので
下へスクロールし
住所、電話番号
クレジットカード情報を入力し
次に同意します
にチェックをいれ
次へをクリック

なお、入力に関しては日本語でも問題なし
電話番号と郵便番号のーを忘れなければOK

確認画面で完了を押せばアップグレード完了

これでNLCが使える状態になったけど
デフォルトモデルがないため
自分でモデルを作成する必要がある

まずNLCインスタンスを作成

カタログ > AI >
Natural Language Classifier
をクリック

下にスクロールすると
標準での無料枠の説明があり
1 カ月当たりに 1 つの
Natural Language Classifier が無料
となっているのが確認できるので
あとは作成をクリック

作成したインスタンスのAPIキーなどを確認するには
サービス資格情報
をクリックし
資格情報の表示をクリックすれば表示される

Watson Stduio で Notebook

Watson Stduio で Notebook

WatsonStudio で Notebook を使うには

Add to Project をクリックし
Notebook をクリック

無料枠で使うため
Select runtime を
Default Python 3.5 Free (1 vCPU and 4GB RAM)
に設定
あとは Name にnotebook 名を入力し
Create Notebook
をクリック

これで
Ubuntu の Jupyter Notebook のように
コードの記述が可能になる

次にファイルのアップロード
基本的に
WatspmStidioはクラウド上で動作するので
ファイルを扱うにはアップロードする必要がある

アップロードするには
Find and add data アイコンをクリック


WatsonStudio と Visual Recognition インスタンスのひも付け

WatsonStudio と Visual Recognition インスタンスのひも付け

Visual Recognition で Watson Studio で
独自の画像認識モデルを作成するときに
ひも付け設定が必要

WatsonStudio を開いて
Seeting をクリック

下へスクロールし
Associated services の部分にある
Add service
をクリックし
Watson を選択

下へスクロールし
Visual Recognition の Add をクリック

Existing タブのところに
作成した Visual Recognition インスタンスがでるので
Select をクリック

これで
Associated services に
Visual Recognition インスタンスが表示されればOK

Watson Studio

Watson Studio

まず Watosono Studio のインスタンスを作成

2回めのログインからなぜか英語になったけど
操作は変わらないのでそのまま続行

Catalog > AI(15) > Watson Studio

作成できるが、ライトアカウントの場合
1つしか作成できない

すでに1つWatson Studioインスタンスが作成されていると

You can have only one instance of a Lite plan per service. To create a new instance, delete your existing Lite plan instance.

となり
Create が押せない状態になるので注意

作成したインスタンスの確認は
ダッシュボードから
Resources List で一覧を見ることができる

Watson Studio がすでにあるなら
この中から
Watson Studio をクリックし
Get Started をrクリックすれば立ち上がる

次にプロジェクトの作成

Create a project
をクリック

次に Standard をクリック

Name にプロジェクト名を入れて
Add をクリック

プランの選択になるので
下へスクロールし
Lite になっているのを確認し
Create をクリック

確認画面になるので
Confirm をクリック

プロジェクト作成の画面に戻るので
Refresh をクリック

インスタンスが表示されるので
Create をクリック

これでプロジェクトの作成ができる

Let’s Encript の自動更新

Let’s Encript の自動更新

Let’s Encript の期限きれが近いとのお知らせがきたので
更新

su -

で管理者権限になってから

/usr/local/certbot/certbot-auto renew

で証明書を更新して

sudo systemctl restart httpd.service


webサーバーを再起動

毎回手動更新は面倒なので
Linux CentOS7でLet’s Encryptを自動更新にする

を参考に
cron を使って自動更新することに

vim /etc/crontab 

でファイルを開き

00 03 * * * root /usr/local/certbot/certbot-auto renew --post-hook "sudo systemctl restart httpd.service"

を最終行に追記し保存

–post-hook は更新したときに実行したいコマンドを指定するオプション

今回なら更新したときには webサーバーを再起動
という意味になる

IBM Cloud ライトアカウント作成

IBM Cloud ライトアカウント作成

https://cloud.ibm.com/login
へアクセスし
IBM Cloud アカウントの作成
をクリック

Eメール
名前

パスワードを入力し
アカウントの作成をクリック

登録したメールに確認のメールが届くので
Confirm account をクリック

これで認証されるので
ログインをクリック

旧バージョンからの変更点が記載されているので
納得できれば次に進むをクリック

これでログインできるので
次にインスタンスの作成

カタログをクリックし
AI をクリック
Visual Recognition をクリック

一番下までスクロールし
ライトを選択すれば無料枠で使えるので
作成をクリック

これでインスタンスが作成される

なお、API鍵を表示させたいときには
管理画面で
資格情報を表示をクリックすれば
API鍵が表示されるようになる

Azure Machine Learning Quick Evaluation

Azure Machine Learning の Quick Evaluation

Azure Machine Learning には
ユーザ登録せずに使用できるサービス
Quick Evaluation
があるので、こちらを使うことに

ただし
使用開始から8時間後に作成したすべてのデータが消される

学習目的ぐらいにつかうなら十分

https://studio.azureml.net/
にアクセスし
Sign up here
をクリック

8-hour trial
の Enter をクリック

これで操作画面になるので
作業するために
Experiment を
NEW
をクリックして作成すればOK