地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

洗濯物にサーキュレーター

  部屋干しでの洗濯物には風を当てとかないと、乾きが悪い。そんな季節がやってきた。冬は暖房を入れるからまだましだが、5月から6月が特にだめ。乾かないし、匂いもなんだか生乾きの匂いがしてくる。

 そこで、サーキュレータ。

 やっぱり、全然違う。

 

 洗濯物や熱こもりには首振りじゃなくても大丈夫。

 

  だけど首振りタイプもそんなに変わらない。

 

 たぶん、上記2つが安い。

マルコフ連鎖による文章自動生成 #1 とりあえずデータ集め

高度なチャットボットは無理だけど・・・

 pythonのお勉強としてchatbotを作ってみようと思い立った。いろいろとGoogleって見るといろいろある。ディープラーニングだけでもいろんな手法もあるし、どこから取り付いて良いのかわからない。TensolFlowのSeq2aeqモデルとかいい勉強になりどうだけれども難しそう。実際、そのまんま動かそうとすると環境構築だけで苦労した上にエラーの解決ができなかった。

 マルコフ連鎖であれば、markvify を使うとコードも理解しやすそう。マルコフ連鎖による文章自動生成に挑戦しました。その文章をツイートするところまでできました。

 そこでメモ代わりに書き留めます。

 

使った環境(マシンというか)

 ColaboratoryとメインPCでJupyter lab、借りているVPSを駆使することにしました。本当は駆使するというより、環境を持ち歩けないので仕方なく・・・です。

 

何はともあれ元データ

 まずは、文章集め。データが多ければ多いほどいいだろう。そこで、参考にしたのは、こちら。

 

qiita.com

 

 まずは、Colaboratoryで動作を確認。

!pip install requests requests_oauthlib

!pip install emoji

 くらいで、あとは引数を直接与える様にするくらい。 

args[1] = '私' # jupyter上で実行するとき

  これで無事に動作。

 収集できた文章も応答になっているので、なかなか良い感じ。URLや絵文字も削除できている。収集ペースも大体分かったので、これならサーバーに設定しても破綻しそうにない。

 ということで、VPS(CentOS)で収集を開始。そのまま1週間ほど放置して大量の会話データを収集すると600MBくらいに育ってました・・・。

 

 つづく。

 

Anaconda windows でMeCab

 日本語の処理には必須の分かち書きMeCabを使ってやるのが定番の様だ。Juman++というのもあるようだけれども、今日のところはMeCabのインストールにチャレンジ・・・。

 と言っても下記のサイトの通りでばっちりでした。

qiita.com

 

  ところが、UTF-8の文字列を取り扱うとエラー連発。困ったなぁ・・・。と思っていたら、デフォルトがCP932らしい。いちいち明示的にファイル取り扱うのが無難かなぁ。どこかで一発で宣言できれば便利なんだけれども。

qiita.com

 

 

スマホクリップ

  車載ホルダーって固定方法が難しい。加工までしちゃったり、強力両面テープなんて使ったら後悔しかない。

 クリップ式だと車だとびよんびよんしそうな感じ。

 

 とは言え、こんな感じならしっかりしている印象。サンバイザーにつけると視界を妨げ過ぎるから駄目。でも、荷物とかにクリップつけて固定したりでも十分。ブレーキかけて落ち込んだりしないだけでもOK。

 ドライブレコーダー代わりにもなりそう。 

  と、とりあえず試してみようっと。

Colaboratory でブラウザが高負荷に・・・

 ColaboratoryはPythonのお勉強にぴったり。そこでWikipediaのデータを持ってきて見よう見まねで整形処理に挑戦。

 だが、しかし。

 処理項目毎にメッセージを出すようにしたら、すごい勢いでログが出る。すると、非力な我がX230はCPU使用率が100%に張り付きブラウザは画面の更新もままならず、たたタブを閉じるのみ。

 90分経ってセッション停止するまで待つしか・・・。

 こんな落とし穴があるとは。

 というか、いきなり大量処理は止めましょう。

 

 検索しても、回避方法はないし、リダイレクトしてファイルに残すのも、なんとなく、本来の使い方と違う感じもしなくもない。

 

 失敗例でした。

 

ひさびさのタブレット物色

  持ち歩きが主なので、このサイズはいい。MediaPad M3。どうしても今後のGoogleさんの出方が気になるが、それでも販売済みの端末はサポートするらしいので、ポチリ直前。

 タブレットって需要ありそうなんだが、なかなかいいものが出てこない。

 いっそ、Chorme book待ちか!?

 

  しかし、1GBしかRAMないけれども、Fire7の価格は破壊的だ。

Fire 7 タブレット (7インチディスプレイ) 16GB - Alexa搭載 (Newモデル)

Fire 7 タブレット (7インチディスプレイ) 16GB - Alexa搭載 (Newモデル)

 

 

JupyterLab (Anaconda Windows10)で環境構築

 Colaboratoryでお勉強には、かなり満足。制限あったり得られた結果を保存したりするにGoogle Driveマウントしたり、消える前にダウンロードしたり、と不便。

 でも、やっぱりローカルにも環境が欲しくなる。

  念のため、昔に試したpythonはuninstallしてからAnadondaをインストール。次のサイトを参考にした。 

qiita.com

 JupyterNotebookの後継というJupyterLabを使ってみる。一度試したらNotebookよりサクサクしていていい感じだったからだ。

 起動させたら作業フォルダがCドライブに固定されていている。ちょっと不便。メニューから見れる設定ファイルにはない。configファイルをいじるといいらしい。 

izmmr.blog.jp

 無事に成功。

 ポチポチ勉強します。

 

 

結束バンド

 コードを纏めたり、ちょっとした工作にも使える結束バンド。ただし長いからってコードぐるぐる巻きにしてまとめちゃうと加熱して危険な場合があるから注意が必要。

 スマホの充電コードとか、パソコンの裏側とか、使いどころは沢山。電源タップの固定にも使っている。

 あまり過信はできないけど、便利に使えている。

 

コード纏めたりするのに便利なマジックタイプ

パンドウイット マジック結束バンド タックタイ スリットタイプ 黒 UL認定品 HLTP3I-X0

パンドウイット マジック結束バンド タックタイ スリットタイプ 黒 UL認定品 HLTP3I-X0

 

  

 

 がっちり止められるロック式。

 

今だからこそのUSBメモリ

 大体のパソコンやスマホはネットにつながっている。繋がってないのは不便。そうすると、やっぱりセキュリティが気になってくる。だいたい、たまにしか使わないものに限って大事なものも多い。

 そこで1つ。

 さらに、バックアップ。CDやDVDドライブがない機器も増えちゃいました。Windows10だと回復ドライブとしてUSBメモリで作れます。

 さらに2つくらい。

 すでに3つになった。

 ごくたまにネットが落ちた時にデータを移し替えたりするのに1つ。

 と、結構持っているUSBメモリ

  USB3.1だと速度が遅くもない。

 クラウドサービスももちろん活用大事だけれども、必要になっちゃうUSBメモリでした。

 

 ラズパイにはSDカードとUSBメモリどちらが耐久性あるんだろうか・・・。

 

 

SanDisk USBメモリ 32GB USB 3.0 Ultra フラッシュドライブ [国内正規品] (5年保証) SDCZ48-032G-J57
 

 

 

 かつてはお世話になりました。

 

ja.osdn.net

VPS(CentOS7)へのVPNの設置

 ラズパイへのVPN(SoftEther)が可動したので、借りているVPSへもインストールする。国内設置のサーバーなので国内の固定グローバルIPが貰えるし、ネットワーク的にもお家内に設置したラズパイサーバより速度も期待できる。安いプランなので、使えるネットワーク量も1TBと限られているが、モバイル用途であれば十分だろう。

 

 さっそく先人の知恵を借りようとしたが、準備始めるとyumコマンドがうまく動かない。DBが壊れてたらしい。それは別の機会に。とりあえず、SSH環境は出来ていて稼働できている状況から始めます。

  

 基本的には以下のサイトが丁寧でわかりやすい。

inaba-serverdesign.jp

  が、他のサイトを見てローカルブリッジをトライしてハマりました。なぜかCPU使用率が100%に張り付くのだ。現象としては、仮想NATを有効にしてVPN接続するとCPU負荷が上がり、接続を切っても回復しないのだ。仕方ないので、Softetherの管理ソフトからオフライン状態で落とさざるを得なかった。

 

 しかたないので、色々と調べると

www.kwonline.org

ローカルブリッジ機能は絶対にONにしてはイケない。

と、忠告が。

 もしかするとtapデバイスを作るとか、なんとかなったのかもしれないけれども、別の目的で動いているプロセスもあるサーバーのため、これ以上弄るのはやめて、ブリッジを削除。すると、VPN接続でサーバー自体は見えないけれども仮想NAT使ってもCPU使用率が上がらなくなった。

 

 IPSec / L2TP機能も有効にしているので、確かにAndoridから直接つながる。

 

 とりあえず設定終了。セキュリティ考えて設定見直すポイントもありそうだが、少なくとも無防備な点はなさそう。ここまでで疲れちゃいました。