2017年06月28日

Tensorflow-gpu

マックでここのところ、 Tensorflowをいじっていたが、RのTensorflowはGPU版がないので、PythonのTensorflow-gpuを使ってみた。TensorflowはCUDAを使うがCUDAはNvidiaのGPUにしか対応していない。幸いなことに私のMBPレチナは5年前のモデルなのでNvidiaのGPUが搭載されている。性能は当然に劣るが、それでもTensorflowのGPUバージョンがちゃんと動く。
GoogleのTensorflowにある手書き数字識別のMNISTのサンプルプログラムをそのままだと、GPUのメモリが足りなくてmemory exhaustedエラーを出すが、ちょっとプログラムを工夫するとちゃんと動く。
それでも、さすがにCPUバージョンより10倍位は高速に動く。

最近のGPUはPascalアーキテクチャになり、性能も物凄い。こんなものが一般にはゲーム用途で売られているのが笑ってしまう。w
ネットの普及を促進したのがエロ情報にあったのと近いものであろう。w
今のGTX1080クラスのGPUはテラフロップスの性能があるが、スパコンがテラフロップスを超えたのはそんなに昔のことではない。1997年くらいだったろうから丁度20年くらい前か。それがニュースになっていたことを、少し覚えてる。

今のPascalアーキテクチャは、16ビット演算、つまり半精度演算が可能となっていて、まさに DeepLearningのために開発されたようなGPUといえる。DeepLearningでは半精度演算でも精度が変わらないことが分かったために16ビット演算が可能なように作られた。これだけで単精度演算に比べて計算処理速度も2倍になるしメモリーの活用でも2倍有利だろう。
ただし、Tensorflowは半精度演算にまだ対応していないようだ。これは  cuDNNが対応していないのだろうか?
GTX1080であっても9テラフロップスの性能がある。こんなものが10万円もしないのであるから、凄い時代になったものだ。これからのAI社会はGPUによって創られていくのだろう。
posted by libertarian at 21:07| 東京 ☁| Computer | このブログの読者になる | 更新情報をチェックする

2017年06月27日

CUI化するコンピュータ

コンピューターはマックをメインに使っているが、Windows10を少しいじってみて、ずいぶんと進化してきたなという印象を持った。
振り返れば過去にWindowsを使っている時間の方が長かったのかもしれない。だが、windowsは仕事上で使う必要があるがそれほど引き付けられるものではなかった。そもそも仕組みがよくわからないということがあった。w
仕組みがよくわからないのはマックであっても同様であったが、マックもUnix系のOSになってからは、見通しのよいものになった気がする。
20年くらい前はUNIXといえばワークステーションというカテゴリーで機械も数百万円という代物であったから、そういうものに業務で接する一部の人しか使わなかった。
もしくは大学の研究室にあるところはあったという感じだった。
むしろ、そのころはマックのGUIを持ったOSが最新という感じで喧伝されていた。そのころはCUIなど旧くGUIこそが素晴らしいということが盛んに言われていたように覚えている。GUIはCUIに対するアンチだった。だが、そもそもUNIXのCUIなどほとんど誰も使ったことがなかった。w それは私も同様であった。
そもそもPCが商品として出されたのが1980年位か。私が大学に入ったころでもはやセピア色の遠い昔に感じる。wこのころはOSという言葉そのものがほとんど知られていなかったし、実際当時のPC9801といった一世を風靡したコンピュータにはそんなものは載っていなかった。Basic専用マシンだったのである。w
パソコンは、このようなBasicマシンから始まり、マックがでて、Windowsが出てようやくOSという存在が認知されたといえる。これが1995年。今から20年くらい前か。
そして、今はUNIXのようなOSが一般的となり、誰でもがUNIXを使えるようになった。
今ではGUIが最高などと思っている人はあまりいないだろう。むしろマックもWINDOWSもUNIXのCUIにどんどん回帰している。最近のWINDOWSではBash on Windows(BoW)も出された。これをWindowsの第2のシェルとしていこうというわけだから、世の中も変わったものだ。こうなると、マックもWindowsもUnix的な世界に溶け込んでいくのだろう。
posted by libertarian at 05:32| 東京 ☁| Computer | このブログの読者になる | 更新情報をチェックする

2017年06月25日

キーボードのJIS規格は意味がない

キーボードの配列が悪しき固定化をしている理由は、キーボードがJIS規格製品となっているからだろう。
JISのような標準規格は有用な面も大だが、なんでもかんでもJIS規格製品にすればよいというものでもない。
思うにキーボードをJISにする理由はあまり見当たらない。そもそも今はソフトキーボードのようなものも一般化しているのであるから、ハードキーボードだけJIS規格製品である理由がない。

使ったことはないが親指シフトなる仕組みも昔からあった。富士通のマシンに採用されていたようで、今でもFilcoから売られている。これはスペースキーの広大なスペースを分割してシフトキーを配置し、日本語入力を容易にしている。特殊な規格だから、専用のソフトをインストールして使うことになる。

キーボードがJIS製品という制約を取っ払えば、今よりももっとよいキーボードが実現できる。
製品にJIS適合をとるか否かはメーカーの判断にすぎないし、ユーザーサイドからはJIS規格であることに別にありがたみはないので、やめたほうがいい。
アップルの日本語キーボードがやや特殊配列であるが使いやすいのは、もともとアップルは親指シフト規格(NICOLA)の参加企業だったという経緯があるらしい。
キーボードはネジのようなハードな工業製品というよりは本質的にはソフトな製品だと考えられる。個々人の嗜好に合わせた柔軟なカスタマイズ性が大事なのだ。

もっともJISであるとかJASであるといった規格には普及させるためのインセンティブがセットされていて、税制面の優遇措置であるとか規格をとるメリットが与えられていることがある。そのため、企業は頑張ってJISなりを取ろうとするわけだが、これはいかがなものかと最近思う。少なくとも市場主義的なアプローチではなく、国家統制主義アプローチだ。その点、デファクトスタンダード戦略は市場主義的なアプローチといえる。
posted by libertarian at 11:11| 東京 🌁| Computer | このブログの読者になる | 更新情報をチェックする

KarabinerのTips

キーボードの設定について、さらに書いておこう。
Karabinerというマック用の超便利なソフトがSierraで突然使えなくなってしまったため、Sierraにうっかりupdateしてしまったマックでは多くのKarabinerユーザーが苦労しているわけだ。私もメインのMBPrをSierraにしてしまったので、ちょっと困っている。しかし、旧いMBPはEl Capitanのままなので救われている。

このKarabinerというソフトはプログラムみたいな設定ファイルを書くといった敷居がなく、高度なキー設定の変更が可能であったが、簡単に使える分、使い方の説明はあまり詳しく書かれていない。日本語だけでなく、世界的に使われることを意図しているためか英語で書かれているところもある。
ネットで検索しても、Karabinerの設定に関するTips記事は少ない。
そこで、知っている人は知っているが、知らない人は知らない重要なKarabinerの機能を2つだけ書いておく。

1)まず、最初に各キーのコードをどうやって調べるかだ。これは最も基本的なことで、これが分からないと設定ができない。
Karabinerのホームページにはキーコードのリストのリンクがあるが、そこには載っていないキーもある!
特に外部キーボードを繋げたときなど、キーコードの分からないキーがあったりして困ることもある。
しかし、Karabinerにはキーコードを調べる機能がある。それはMisc&Uninstallという設定のタブからLaunchEventViewerというボタンを押すと、押されたキーのコードを表示するソフトが起動する。
キーコードは、このソフトで全て調べるのが基本であろう。

2)もう一つ、重要な機能はワンショットモディファイヤと言われる機能である。
ワンショットモディファイヤとはどういう意味かというと、あるキーを単独で押した時と、他のキーと同時におした時とでキーの働きを変えるというものだ。例えば、マックの日本語キーボードで英数キーを単独で押せば半角英数に切り替えられるが、英数キーと他のキーとを同時に押したときには英数キーがシフトキーとして機能するといったことを可能にする。もちろん、この組み合わせはお好み次第だ。
これは非常に便利で、英数キーであるとか便利な位置にありながら単機能しかないキーを便利な修飾キーとしても利用することができるようになる。

こういった機能は、AHKやKeyhacのようなソフトでも実現可能だが、いかんせん、これらのソフトはたかがキーボードの設定のためにプログラムチックな設定ファイルを書かねばならないという敷居の高さがあり、一般向きではないかもしれない。
プログラミングのできる人であっても、取説を読んで使い方を調べるのは一苦労だ。w

英語キーボードがマックの場合、便利だという人も多いが、それは、このKarabinerの機能を使ってコマンドキーなどをワンショットモディファイヤーとして利用できるからということもあった。それができないとやはりマックであっても英語キーボードは日本人には少し不便であろう。
posted by libertarian at 10:19| 東京 🌁| Computer | このブログの読者になる | 更新情報をチェックする

2017年06月23日

キーボードについて その3

キーボードの設定をあれこれしていて、意外にもキーボードという原始的にも思っていたデバイスの仕組みが複雑であることに気づいた。これまでキーボードの仕組みなど考えたこともなかったが、けっこう複雑だ。
また、今のキーボードのデフォルトの使い方では、あまりにも効率が悪い。まあ普通は文句も言わずに与えらえたキーボードをみなさんそのまま使っているわけだが、これほど重要なデバイスが改良もされずに何十年も使われているのはなにかおかしい。いまだにCapsキーなどという無用の長物が一番重要なポジションに陣取ったキーボードが売られているということ自体、なにか不気味である。これをコントロールキーと入れ替えることくらいはやるだろうが、そもそもそんな配列設計のキーボードを売っていることが間違っている。
#マックのキーボードはちゃんとAの横のキーは最初からコントロールキーになっているが。

また最初は私は見た目のすっきりとした英語キーボードがいいと思っていたが、日本語、英語(半角英数)入り交じりの文章と文字を書くことを宿命づけられた日本人としては、やはり日本語キーボードを使った方がなにかと便利である。つまり英語キーボードではキーの数が少なすぎて、日本人には適していないと思う。
特に1段目のスペースキーのある段のキー配列が重要である。

英語キーボードでは、やたらとスペースキーが大きく、スペースキーの左右にはそれぞれ3つくらいしかキーがない奴が多い。だが、この1段目のキーはホームポジションの一部であり、ここに有効な修飾キーがこないといけない。特に親指をいかに活用できるかが重要だ。
その点、Macの日本語キーボードはなかなかよく考えられている。ベストとはいえないが。
私はマックのMBPretinaに外部キーボードをつなげて普段は使っているが、外部キーボードもやはりマックのにした方がいいのかもしれない。

外部キーボードもいろいろとあるが、まだまだ改善の余地はたくさんある。安いのから高いのまで、つまり500円くらいのからhhkの30000円位までのキーボードがあるわけだが、キーボードの使い勝手やカスタマイズ設定はもっと改善の余地がある。つまり、もっと容易に柔軟にキー設定を変更できる仕組みが必要だし、キーボードのキー配列にも改善の余地がある。
今のキーボードは周辺デバイスという位置づけで、キーボードの中に1チップマイコンが入っていて、スキャンコードをPCに送り、あとは全部PC側で処理するバカ端末方式の仕組みと思うが、キーボードをもっとインテリジェントにした方が柔軟性が高まるのではなかろうか。
posted by libertarian at 23:08| 東京 ☀| Computer | このブログの読者になる | 更新情報をチェックする

2017年06月19日

Google翻訳が進歩している

最近、気づいたのであるがGoogle翻訳がここのところ急激に進歩しているようだ。
これだけ翻訳できれば、下手な人間の翻訳より自然かつ正確かもしれない。これもやはり、AI技術によるものだと想像できる。というか、間違いなくそうだろう。
今のAIの画像認識は驚異的なもので、人間と同じか優っているところもあるだろう。この進歩はまだまだ進むので、将棋同様に人間をすぐに追い抜く。
画像認識というのは、動物の能力の中でも最も不思議で神秘的だと思っていたが、その画像認識が意外なことにコンピューターにとって得意なことになった。
残るは自然言語認識だが、これもあと数年で相当なレベルになりそうだ。
急激にAIの時代になったなと思う。
posted by libertarian at 02:15| 東京 ☁| Computer | このブログの読者になる | 更新情報をチェックする

2017年06月12日

キーリマップ2

MacをSierraにしたらkarabinerが動かなくなったが、しかたがないのでMac用のkeyhacで代替した。
色々とキーをリマップしていじってみたが、ほぼ落ち着いてきた。
記号キーのリマップは()=-+'" enterの8つだけ行う。

具体的には、
左シフト+h → (
左シフト+j → =
左シフト+k → )
左シフト+l → -
左シフト+i → +
左シフト+y →  " 
左シフト+u → '
左シフト+n → enter

keyhacはPythonでプログラムするが、取説が非常に分かりにくくて苦労した。w
Windowsに関しては、Autohotkeyで設定すると簡単だ。
Ahkは、いろいろと使い出のあるソフトである。

windowsのAhkの設定ファイルの内容は以下の通り。
<+y::"
<+u::'
<+h::(
<+j::=
<+k::)
<+i::+
<+l::send,-
<+n::enter

この内容をテキストファイルに書いて、拡張子をahkにして保存し、スタートアップフォルダに入れておけば起動時に自動的に読み込まれる。
#ここで、<+は左シフトキーを意味している。右シフトキーなら>+と略記する。例えば、<+y::"だと、左shift-yをダブルクオートにリマップするという表現だ。

要するにプログラムの際に頻繁に使うキーを、ホームポジションの近くにリマップしている。
しかし、記号を全てリマップする必要はあまりないので、上記の頻出する重要な記号キーだけリマップする。
こうすると、かなり快適で、記号を打つ度にホームポジションから離れたキーに指を伸ばさなくて済むので楽だ。
posted by libertarian at 11:00| 東京 ☁| Tech | このブログの読者になる | 更新情報をチェックする

2017年06月04日

緩衝地帯化する日本 2

3月頃に四月に朝鮮半島で戦争が起こるだろうと書いたが、今のところ戦争は起こっていない。
色々と聞くと、アメリカは現在鋭意準備中のようで、年内には作戦行動があるかもしれないという位の時間感覚かもしれない。
南が極左の親北政権になってしまったので、軍事行動をするとしても、南は日米韓の共同軍事行動からは外さざるを得ない状況となった。
そうしなければ、情報がダダ漏れになるためだ。
実際のところ日本も秘密管理のしくみが法的にないから、ほぼアメリカの単独行動になるのだろう。

時期が長引くとまた状況も変わっていくが、もし軍事行動を起こすとしたら、現在の金体制を完全に潰す結果に持っていく必要がある。そうしなければ、多大のリスクと人的金銭的コストをかける意味がない。
また、短期に収束させないと、今度はチャイナがその間隙をぬって動き始めるだろう。

日本に民進党というチャイニーズを党首に担ぐ、チャイナを支持母体としたトンデモ政党が存在するように、南も北支持と西側支持の政党が混在した状況で、これは緩衝地帯の悲しさというべきか。慰安婦問題も裏では北が主体となって行っている政治工作に過ぎないという見方もある。離間の計というやつだ。
緩衝地帯では明確な国家意思、つまり国防、national securityという意識が消滅してしまうようだ。

しかし、もしアメリカがコストベネフィットを考えて北を放置したら、対馬海峡が新たな38度線になるという話は現実のものとなる。この結果、日本が半島に替わる100%緩衝地帯となる。

緩衝地帯の人間は、自分が緩衝地帯の住民だという意識を持たない。
これは親チャイナの連中もそうは思っていないだろう。
もし、今、北を叩き潰さなければ日本が徐々に100%緩衝地帯となっていく。
すると民進党や共産党のようなチャイナのエージェント政権がどうどうの第2党として、むしろ力を増していくだろう。支持もされてないトンデモ政党が伸びてくるという不思議なことが起こるだろう。

チャイナが日本を侵略しようとしているのは事実だが、アメリカが日本を極東前線基地として駐留している以上、完全な武力侵略は難しく、むしろ時間をかけたソフトな超限戦、つまりは政治、メディア、行政といった面での侵略を強めてくることになるだろう。
日本はこの手の侵略に対抗する法体制を持たないので、そっちのほうが容易だ。
結果、日本は今以上の緩衝地帯、米中の100%緩衝地帯となる可能性が高い。

しかし、そうなると日本も惨めなもので、半島やウクライナのような地帯になってしまうことになる。
posted by libertarian at 17:55| 東京 ☀| China problem | このブログの読者になる | 更新情報をチェックする