» 日常のブログ記事

Python-ControlをGoogle Colabで使うには,毎回

!pip install slycot control

を実行しなければならない。そこで,これらのモジュールをGoogle Driveへインストールし,少し快適に使うようにしてみた。

まず,適当なノートブックを開いた状態で,Google Driveがマウントされているかどうかを確認する。具体的には,左側のファイルアイコンをクリックして,ファイル一覧に「drive」(下図の緑枠)がなければ,「ドライブをマウント」ボタン(下図の赤枠)を押してマウントする。

ドライブがマウントしていない状態でモジュールをインストールしてしまうと,ランタイムが更新されたあとに消えてしまうので要注意。私の場合は「Colab Notebooks」の下に「my_modules」というフォルダを作って,その中にモジュールをインストールすることにした。この場合,次のコードを実行する。

!pip install slycot control --target /content/drive/MyDrive/Colab\ Notebooks/my_modules --no-deps

ここで,「–no-deps」オプションは重要で,これが無いと,my_modulesの下に,slycot及びcontrolと関係のあるモジュールがたくさんインストールされてしまう。また,Colabの後のバックラッシュは,Colab Notebooksの間のスペースをエスケープするために必要。以上で準備は終わりだ。

一度上記を済ませてしまえば,Google Driveがマウントされていることを確認した上で

import sys
sys.path.append('/content/drive/MyDrive/Colab Notebooks/my_modules')
!pip uninstall mkl -y
from control.matlab import *

のようにすればよい。なお,mklをアンインストールしているのは,この記事を書いている時点で,mklをupgradeまたは削除しないとstep関数でクラッシュしてしまうからである。以上,お試しあれ。

【参考】
Google Driveのマウントは

from google.colab import drive
drive.mount('/content/drive')

としてもできるが,アカウント認証を行う必要があるので,ファイルブラウザのボタンから行うのが個人的にはおすすめ。

私が担当している「新入生セミナー」という1年生向けの授業では,毎年,自己紹介タイムを設けている。しかしながら,今年は対面での自己紹介ができないので,Zoomによる自己紹介タイムを設けることにした。そこで使用したのが,Zoomの「ブレークアウトセッション」の機能。これについて簡単に紹介したい。

まず,設定でブレークアウトセッションをONにしておく必要がある。そうすると,メインウインドウの下に「ブレークアウトセッション」というボタンが現れる。

このボタンをクリックすると,セッションの割り当て画面が表示される。

ここで,セッション数を選んで「セッションの作成」をクリックする。なお,セッション数を変えると,セッションあたりの参加者数も変化するので,こらを見ながらセッション数を決めると良い。また,Tipsとして,学生が遅れて参加したことを考えて,セッション数は少し多めに作っておくと良い。ブレークアウトセッションを開始してしまうと,後からセッションの追加はできないようだ(2020-05-10現在)。セッションを作成すると,次の画面が表示される。

参加者は,ランダムに割り当てられるようだ。事前に割り当てておくこともできるが,事前割当については,あとで説明する。セッションルームの名称を変えたり削除する場合は,ルーム名の上にマウスポインタを合わせると良い。

また,メンバーの移動や交換(赤枠参照),セッションルームの追加(下のボタン)もこの画面からできる。

「すべてのセッションの開始」をクリックする前に,まだやることがある。それは,オプションの確認だ。時間を決めてブレークアウトセッションを実施する場合は,時間設定をすると良い。私は以下のように全てのオプションにチェックを入れている。

あとは,「すべてのセッションを開始」をクリックするとブレークアウトセッションが始まる。ブレークアウトセッションが始まると,ホスト役は一人だけ取り残される。これが結構さみしい。ブレークアウトセション中は,「全員宛のメッセージを送信」ボタンからメッセージが送れる。

時間が来ると,先ほど設定した「カウントダウンタイマー」の秒数の猶予が与えられた上で,ブレークアウトセッションが終了する。

授業などでは,ブレークアウトルームの割り当てをあらかじめ決めておきたい時がある。そのような場合は,ミーティングをスケジューリングする際に,事前割当が可能である。ミーティングをスケジューリングする画面で,「ブレークアウトルーム事前割り当て」をチェックする。そうすると,CSVファイルからのインポートなどが可能になる。ただし,事前割当を行う場合は,参加者のZoomのアカウントが必要になるので注意が必要。

なお,このオプションが現れない場合は,Zoomの設定で「スケジューリング時にホストが参加者をブレークアウトルームに割り当てる事を許可する」がチェックされていない可能性がある。

ブレークアウトルームはZoomの無料アカウントでも利用できる。実際にこの機能を使って学生に自己紹介をやってもらったが,評判は良いようだ。是非,お試し頂きたい。

自宅の光回線のIPv6化

| 日常 |

自宅では,NTT東日本のフレッツ光をPPPoEを使ってIPv4で接続するという典型的な接続方法によって利用していた。PPPoE方式では,パケットがプロバイダに設置されたネットワーク終端装置(NTE)を通るため,アクセスが集中するとどうしても回線速度が落ちてしまう。当初,so-netを利用していたが,夜間だと1Mbpsを切るような状況に陥っていた。

フレッツでは,光回線とプロバイダは別契約なので,プロバイダだけ乗り換えることができる。Interlinkでは,PPPoE接続に必要なIDとパスワードをWebから即時発行してくれて,2ヶ月の無料期間もあったので,試して見ることにした。当時は,まだInternlinkがそんなに知られていなかったせいか,それなりの速度が出ることがわかったので,乗り換えることにした。これが,2018年の6月のことである。

ところが,最近,Interlinkの回線も遅くなってしまった。さすがに1Mbpsを切ることは無いが,数Mbpsになることが増えてしまった。そこで,IPv6への乗り換えを検討したのである。IPv6の場合はIPoEという方式でフレッツ網(NGN)からVNE(Virtual Network Enabler)事業者を通して直接インターネットと通信することができるので,速度低下が起こらない。しかし,接続先がIPv6対応していないと通信ができないので,IPv4も利用できるようにしなければならない。IPv6上でIPv4を利用するには,IPv4 over IPv6という方式を利用することになる。これは「トンネリング」という技術によって,IPv6上にIPv4のパケットを流す方式である。

ちょうど,InterlinkがIPv6接続サービス(ZOOT NATIVE)を2ヶ月の無料期間付で始めていたので,これに申し込むことにした。ZOOT NATIVEでは,IPv4 over IPv6については,DS-Liteという方式になる。DS-Liteでは,1つのグローバルIPv4アドレスを複数でシェアするシステムであり,ポートの開放ができないので,サーバを公開したり,外部から自宅のPCへ直接アクセスするような用途には向かない。ZOOT NATIVEに切り替えたら,コンスタントに80Mbpsほどの速度が出るようになった。自宅はマンションであり,光回線から各戸への配線が100Mbpsなので,十分な速度である。

しばらく使用してみた結果,基本的に問題はなかったが,唯一,接続できなかったのがYAMAHAが提供しているNETDUETTOというサービス。NETDUETTOはネット上で音楽セッションをするサービスなのだが,どうも,クライアント間を直接接続するようで,DS-Liteではそれができないようだ。

うーこれは困った。現在は,従来のPPPoEによる接続サービスと,IPoEのネイティブ方式の両方を契約している。無料期間が終わるまでにどうするか考える必要がある。

ドリップスケール

| 日常 |

在宅で仕事をしていて,唯一の息抜きと言えるのがハンドドリップのコーヒー。せっかくなので,バルミューダの電気ケトルを購入したのは良いけれど,ちょうど1杯分をドリップするためのお湯の量が毎回ばらつく問題は解決できませんでした。

なので,一旦お湯をハリオの計量カップで適量計って,それでドリップするという,せっかくかった電気ケトルが有効活用できていませんでした。

ところが,Youtubeにキッチンスケールを使ってコーヒを入れると良いとの動画を発見。目から鱗でした!これで,正確にお湯の分量が量れます。

しかも,この動画を見るとわかりますが,抽出時間も重要とのこと(当然ですね)。調べてみると,スケールとキッチンタイマーが一緒になった,ドリップ用のスケールがあるではないですか!

もう,コーヒを入れる際に,キッチンスケールが手放せなくなりました。お勧めですよ!

ROKUMEI COFFEE

| 日常 |

2019年度の研究室の修了生からいただいたROKUMEI COFFEEですが,感動的においしくて驚きました!これは是非とも皆さんにお勧めしなければ,と思いこの記事を書いています。

シーン別にロクメイブレンド(いつでも),ミカサブレンド(朝に),カスガブレンド(気分転換に),サルサワブレンド(夜に)の4種類が入っていて,どれも甲乙付けられないくらいおいしい。今回はどれを飲もうかな,と選ぶのも楽しい。

いままで,ブレンドが異なっても,その違いを強く感じることは無かったのですが,このコヒーは明らかに違います。新たな発見でした。

決して安くないのですが,価値ある逸品と思います。プレゼントにも是非。

住宅ローンは固定金利か変動金利か悩むところだ。総返済額が数百万の単位で変わってくるからだ。アベノミクスによって景気の回復基調がみられることから,変動金利の人は固定金利に借り換えてはといった内容の記事が目立つ。また,新たにローンを組む場合も,固定金利が安心でおすすめとの記事が多い。

しかし,本当にそうなのだろうか。どちらが最適かについては,借りる額や期間,収入に対する返済額,そして,貯蓄額などによって異なるはずだ。しかし,変動金利は固定金利に比べてリスクが高いので,変動金利はそれを承知の上で選択すべき,との論調がほとんどである。

実は,私自身一年ほど前に全期間固定金利から変動金利へ借り換えた。基本的に慎重派なので,固定金利が当たり前だと思っていたが,いろいろと情報収集するうちに,変動に比べて返済額がだいぶ高くなる固定金利を選択しいるのがばかばかしくなった。そして,自分自身で実験してみようと思うようになったのである。アベノミクスで日本の景気は回復基調にあるが,それでも,今のところ不安や後悔はない。実験結果はローンが終わるまでお預けだが,なぜ,変動金利にしようと考えたか,忘れないうちに,少し書いてみたい。

の続きを読む »

どうぶつしょうぎ

| 日常 |

先日,ふと立ち寄った本屋さんで「どうぶつしょうぎ」という駒の動きを簡略化した幼児向けの将棋を見つけた.

5歳の次男に聞いたら欲しいというので(こう聞いていらないとい言われたためしは無い),つい買ってしまったが,これが意外と面白い.将棋と違ってすぐに勝負がつくのもいい.

相手のライオン(王様)を取るか,自分のライオンを相手の陣地の一段目に入れると勝ちとなる.後者のルールが普通の将棋にはないので,油断をしていると危ない.

実際,5歳児をなめてかかり,油断しているすきに陣地に侵入されて何度か負けるという失態を犯している.

Wikipediaによれば「東京大学情報基盤センター准教授の田中哲朗は、コンピュータを用いた「起こりうる全局面」の解析により、両者が最善を尽くした場合、78手で後手の勝利となるという結果を報告している。」とのこと.

フライパン

| 日常 |

たまには,日常の話題でも.

我が家では,Vita Craftというメーカのフライパンを愛用している.

Vita Craftの製品は,多層構造のステンレス鍋が主力商品となっていて,値段もかなり張るものが多いが,廉価な製品も出している.我が家が使用しているフライパンも,高い方ではなく手ごろな価格のソフィアIIというシリーズだ.22cmと26cmの2本をそろえている.

先日,ボロボロになったので,新しいものに買い替えたが,ホームセンターやスーパーなどで安価に手に入るものに比べてだいぶしっかりしていて,長く使用できた.トータルで考えるとお得だったように思う.

マイコプラズマ肺炎に罹患したことを機会に,調べたことを忘備録としてまとめておく。

マイコプラズマは,ここ数年で,定番と言われたクラリスなどのマクロライド系の抗生物質が効かない耐性株が急激に増えているとのこと。現状90%が耐性株という話もある。それでも,現状治療のガイドラインではマクロライド系が第一選択薬になっているので,最初はクラリスが投与される場合が多い。そして,クラリスを投与して48時間経過しても改善が見られない場合,ジェニナックなどのニューキロノン系かミノマイシンなどのテトラサイクリン系の抗生物質に切り替えることになる。なお,原理的に,テトラサイクリン系は耐性にはならないらしい。

しかし,子供への投薬は選択肢が限られてくる。ニューキロノン系は基本的に子供には使えず,ミノマイシンを乳幼児に使うと歯が黄色くなるという問題があるからとのこと。我が家がお世話になっている小児科専門医は,8才以上ならばミノマイシン,それ以下ならばごく最近出たオゼックス小児用を使うとのこと。

の続きを読む »

あまりに早い死でした。言葉もありません。ご冥福をお祈り申し上げます。

広告