卒研メモ:CSSで縦書き表示

 鳥取県立博物館が,家老日記をHTML + CSSだけで縦書き表示し,テキスト検索可能な形で公開しました。

 縦書き表示はwriting-modeの指定だけで可能です。

これが縦書き表示です。
縦に読めますかね?
古いブラウザではダメかも。
早く最新版にして,縦読みしましょう。

 JavaScriptを使って段落ごとに縦・横表示切替機能を作るとお年寄りにやさしいUIが可能になりそうです。

卒研メモ:NVIDIA DIGITSインストール完了

 NVIDIA Deep Learning Day 2016 Springというディープラーニング展示会に出席してきました。現在のディープラーニング業界(?)の動向紹介と,GPUを使ったソフトウェア開発環境を分かりやすく紹介していた基調講演が一番良かったです。

 そこで紹介されていた,GPU有力メーカー(といっても他はAMDとIntelぐらいしかないんですが)であるNVIDIA社が提供しているディープラーニングデモ環境,DIGITS 3.0を本研究室のちょっと古いGPU搭載マシン(GTX 780)に導入してみました。LinuxディストリビューションはUbuntu 14.04で,CUDA 7.0開発環境と共にapt-getコマンドでインストール可能です。なぜか最初のCUDA インストール時にはGPUドライバが導入されず,デフォルトのNVIDIA GPU用ドライバであるnouveauを殺し,改めてapt-get install cuda-7.0とすることで無事動作させることができました。

2016-05-02_212526

2016-05-02_212550

 一応,簡単な手書き文字認識ができることは確認できました。

 DIGITSには様々なディープラーニングフレームワークが導入されているようなので,これから勉強していきたいと思います。核となるニューラルネットワークについては本学の名誉教授である菅沼先生のページでもソースプログラム付きで解説されています。

 今年度の誰かの卒研にリンクできませんかね?

卒研メモ:PHP + MySQLプログラミング教材完成

 2014年度の卒業研究として制作してくれたPHP+MySQLプログラミング教材ですが、アップロードしたものに不備が多々あり、その手直しを本年度の卒研生(水野君、渡邉君)が行ってくれました。

 PHP+MySQLプログラミング教材(2016年度改訂版)
2016-05-02_220046

 本年度はこれを改良し、JavaScript, jQueryを取り込んだトータルWeb教材の完成を目指します。

卒研メモ:waifu2x体験

 日経ITProの記事で,Deep Learning技法を使った画像ノイズ除去ソフトウェアwaifu2xの紹介がありましたので,早速使ってみました。

 小さい元画像(浮世絵)をwaifu2xを使って2倍に拡大し,ノイズ除去も行ったものです。

元画像:
28

拡大画像:
28_waifu2x_art_noise3_scale

 確かに,不自然にのっぺりしていますがノイズが除去されていることが分かります。

 このWebサーバにインストールして使うこともできそうですから,誰か体験してみますか?

追記:Windowsで動作するwaifu2x-caffeなるものもあるようです。Deep Learning部分にCaffeを使っているとのこと。

卒研メモ:インターネットの歴史

 ちょろっと「インターネットの歴史」「History of The Internet」を検索するだけでも色々なサイトが出てきますが,Yahoo! Japanが作った絵物語風のものはなかなかいい出来です。

インターネットの歴史

 Yahoo!誕生から20年。時の流れは早いですね。当方も以前Web20周年誕生を記念して公開講座で講演したことがあります(資料PDF)。ざっくりとした歴史の流れをまとめると

2016-04-01_155100

という感じでしょうか。

 年寄りの回顧談は長くなるのでこの辺で。

卒研メモ:Caffeについて

 人工知能研究の一つに,ニューラルネットワークを利用したDeep Learningがあります。Caffeはそのソフトウェアフレームワークで,BSDオープンソースライセンスにて公開され,自由に使うことができます。今のところ,応用用途としてはWebのIFとして公開されている画像識別が主のようですが,ど素人が人工知能に触れつつその機能を理解するという用途には使えそうです。

 下記の画像は,このサイトのトップにある入道雲+やらまいか創造工学センターの屋上部分の写真をCaffeにかけてみたところです。完全に火山の写真と思われているようですが。

2016-03-22_121228

 ということで,ボツボツ原論文を読もうかなというところです。せっかくGPUが活用できる環境があるので,一台ぐらいはインストールしてcuDNNと格闘してみたいものです。誰かやってみませんか?

卒研メモ:堅い文章を書く際のチェックポイント

 就活,卒研等で「堅い文章」(「社会人が仕事で使う普通の文章」の意)を書く機会が増えていきます。下記のTweetに添付されたチェックポイントは堅い文章の「基本中の基本」ですので,確認しておきましょう。それ以前に「誤字脱字の確認」ぐらいは,Wordでもある程度はできるので,確実にしておきましょうね。

卒研メモ:技術系質問サイトの利用

 卒研を進めるにつれて技術的な困難に直面することが多くなります。その際には,同じ研究室のメンバーに相談,教員に相談,他の友達に相談・・・ということになるかと思いますが,相談する前にまずは「何を聞きたいのか?何が分からないのか?」ときちんと整理しておくと,聞かれる方も答えやすくなります。漠然とした疑問に大しては漠然とした回答しか得られません。

 最近ではYahoo!知恵袋等のQ&Aサイトが人気ですが,プログラミングテクニックを聞く場としては,専門家が集っているとは言えず,あまり適していないように思えます。2chもそこそこ使えますが,罵声も飛び交うし,的確な回答が得られる率はそう高くないでしょう。

 プログラミングに関しては,StackOverflowが先駆けとなり,日本語サイトもできました。最近ではTeratailというところも賑わっているようです(Internet Watch)。

 こういうところできちんとした文章で質問できるようになると,口頭でのやりとりもスムーズにできるようになります。人に理解してもらう方法論を学ぶ意味でも,積極的に活用して「疑問をまとめて的確な回答を引き出す」テクニックを身につけて下さい。

卒研メモ: Web API活用リンク

 本研究室の過去の卒研で,マイナビと連携して就活スケジュール帳を作った例がありますが,手動でHTMLを解析して必要な情報を取得するというやり方をしていました。これは今でも有効ですし,Web crawlerの実装はそのようにするしかないのですが,特定の機能を呼び出す手続き(API)を公開しているサイトの場合,その手順に従ったアプリにしておくと,表面的なWebデザインの変更があってもそれとは無関係なAPIを介したやり取りをするだけで済むので,長い間使えるものになります。

 近年は検索エンジンも大きいところはGoogleとMicrosoftのBingに集約された感がありますし(Yahoo!はGoogleに依存),有効性の強い情報はSNS(Social Networking Service)経由でやり取りされることが多くなってます。賢い人は賢い人同士,金持ちは金持ち同士,バカは・・・,貧乏人は・・・,といった感じでしょうか。貧富の格差が,良質な情報の格差と直結する昨今であります。

 ということで,卒研でも大いに大手サイトのAPIを使いましょう。

 とりあえず,GoogleとBingのAPIはこんな感じのようです(2016年3月現在)。

 Google API Explorer
2016-03-02_094939

 Bing Dev Center
2016-03-02_095458

 SNS関連ではこんなところでしょうか。

 各APIを使うためのサンプル集はちょっと検索すると見つかります。なるべく最新のものを見つけて試してみましょう。