2018年4月28日土曜日

ディープラーニングを体感しよう:第3章(プログラムを動かしてみよう)


こんにちは。よっしーです。


これまでの記事:


前回は、Ubuntu14.04 に Python環境 を構築しました。

これで、プログラムの動く環境ができましたので、

実際にプログラムを動かしてみたいと思います。

ディープラーニングとはどんなものなのか!?


今回は、Aidemy という プログラミング学習サービスから、

無料で受講できる「ディープラーニング基礎」で紹介されている

プログラムを実際に動かしてみました。


37行のPythonコード(script.py)を、Windowsの共有フォルダに保存します。

そして、Ubuntu上から、そのプログラムを実行してみます。

※ 共有ディレクトリに移動し、python と打ってからファイルを指定する。


少し時間がかかりますが、なにやら文字がバラバラと出力され・・・


別ウィンドウでグラフが表示されます。


おお・・・。とりあえず、動いた。

パッとみただけだと、これがすごいのかよくわからないですが、

Pythonからこんなグラフィカルなグラフが出力できるんですね・・・。


で、今回動かしたプログラムですが、超簡単に説明をすると、

手書きの数字(0~9)の画像を、何千回とプログラムに与えて学習させて、

画像から、その数字は何なのかをプログラムが判断できるようになる。

というもの。


学習を重ねるにつれて、正解率が上がっていく。

というのをグラフが表しています。


そんな難しそうな処理がたった37行のPythonコードで書かれています。

Pythonすげー!

ディープラーニングすげー!!


今回は、とりあえず動かしてみただけですが、

次回、プログラムの内容について、詳しく見ていきたいと思います。

今回は、このあたりで。

ではまた~。

2018年4月19日木曜日

ディープラーニングを体感しよう:第2章(Python環境を構築する)



こんにちは。よっしーです。

これまでの記事:
ディープラーニングを体感しよう:第1章(まずは環境構築)


前回に引き続き、ディープラーニングを体感するための環境構築を進めていきます。

前回、VirtualBoxにUbuntu14.04のセットアップを行いましたので、

さっそく、Ubuntu14.04環境へPythonをインストールしていきます。


ちなみに、Ubuntu14.04 にはデフォルトでPythonがインストールされていますが、

今回は、Anacondaをインストールします。


Anacondaは、Python本体と様々なライブラリがセットになったものです。

ディープラーニングでは、Pythonのいろいろなライブラリを使うこととなるので、

まとめてインストールしちゃいましょう。


https://www.anaconda.com/download/


Linux → Python 3.6 version をダウンロード



ダウンロードしたスクリプトファイル(Anaconda3-5.1.0-Linux-x86_64.sh)を
VirtualBoxで設定した共有フォルダに置きます。


Ubuntu側からは、/media/sf_share/ が共有ディレクトリとして割り当てられているため、そのディレクトリへ移動。


共有ディレクトリに移動できません…。権限も変えれない…。

調べたところ、vboxsfグループに所属する必要があるようなので、

$ sudo gpasswd --add {ユーザ名} vboxsf

で、vboxsfグループにユーザを追加します。

共有ディレクトリに入れました。



ダウンロードしたスクリプトを実行して、Anacondaをインストールします。

対話式でいろいろと聞かれるので、基本的にyesを選択していけば問題ないと思います。



Anaconda のインストールが終われば、次に、keras というライブラリをインストールします。

keras はディープラーニング用のライブラリです。

Anaconda に同梱されている、管理ツールの conda を使ってインストールしていきます。


次にtensorflowというライブラリをインストールします。

tensorflow もディープラーニング用のライブラリです。

同じように conda を使ってインストールします。



これで、ひとまず準備完了です。

こうしてまとめると簡単なように見えますが、

ここまでくるのに意外と時間がかかっています。

インストールに失敗したり、依存関係でつまづいたりと。

Linuxの環境構築はなかなか難しい。。。


というところで、今回はここまでにしたいと思います。

次回は、

『ディープラーニングを体感しよう:第3章(プログラムを動かしてみよう)』

を投稿いたします。

ではまた~。

2018年4月13日金曜日

ディープラーニングを体感しよう:第1章(まずは環境構築)


こんにちは。よっしーです。

前回告知した通り、今週よりPythonの得意な分野を体感してみよう。ということで、

『ディープラーニング』について、いろいろと触れて行きたいと思います。


今回は、まず下準備ということで「環境構築」を行います。

Windows上にPython環境を構築することもできるのですが、

前々から自宅PCにもLinux環境を構築したいなぁ~。と考えていたので、

Linux上にPython環境を構築していきます。

と言っても、純粋なLinuxPCではなく、Windows上にLinuxの仮想環境を構築し、その中で動作させます。


用意するものは以下です。

・VirtualBox

・仮想ハードディスクイメージ

さっそく落としてきます。



 ダウンロード → Windows Installer




 ダウンロード → Ubuntu 14.04 LTS



落としてきたVirtualBoxをインストールします。



インストールが終われば、起動します。



「新規」を選択して、仮想マシンを作成します。

 名前 → お好きに
 タイプ → Linux
 バージョン → Ubuntu



落としてきた仮想ハードディスクイメージ(Ubuntu 14.04)を指定します。

 すでにある仮想ハードディスクファイルを指定する → ubuntu-ja-14.04-desktop-amd64.vhd



ひとまず、これで仮想マシンの作成が完了です。



Ubuntuからネットワークに接続できるように、ネットワークアダプターを有効化します。

 仮想マシン設定 → ネットワーク → アダプター2
  ネットワークアダプタを有効化にチェック、割り当てをホストオンリーアダプターに設定



WindowsとUbuntuでファイルのやり取りをしたいので、共有フォルダーを作成します。

 仮想マシン設定 → 共有フォルダー → Windows上のフォルダーを指定



あとは仮想マシンの「起動」を選択すると、VirtualBox上で Ubuntuが立ち上がります。



これで、Linux(Ubuntu14.04) が動作する環境が出来ました。

これから、実際にPythonの環境をこの中へ作っていくのですが、

仮想環境の構築だけで、ずいぶん内容が長くなってきたので、

今回は、一旦ここで切りたいと思います。


次回は、

『ディープラーニングを体感しよう:第2章(Python環境を構築する)』

を投稿いたします。

ではまた~。

2018年4月5日木曜日

ディープラーニングの連載予告!


こんにちは。よっしーです。

最近社内では、Python3エンジニア認定基礎試験を受験する社員が増え、

密かな『Pythonブーム』が訪れています。


IT関連の雑誌やWebサイトでも、Pythonの特集がよく組まれており、

業界でのPythonの人気の高さがうかがえます。


私は、Pythonで簡単なCUIツールを組んだことはあるのですが、

巷で話題となっている「人工知能」とか「機械学習」というものには

まだ触れたことがありません。

(ある意味 Python のおいしいところをまだ味わっていない状態)


だったら、ということで、

このブログを使って Pythonの得意な分野を体感してみよう。

という連載を始めることにしました。

(これから何週か連続してPythonについての内容を投稿させていただきます。)


お題としては『ディープラーニング』を考えています。

ディープラーニングは、機械学習の中の1つです。

私自身も学習しながら記事を書いていきますので、

詰まったりすると、記事の内容が薄くなるかもしれませんが、

あまり期待せず、お付き合い頂ければ。と思います。


そういうわけですので、次回は、

『ディープラーニングを体感しよう:第1章(まずは環境構築)』

を投稿いたします。


これからしばらくの間、よろしくお願いします。

ではまた~。

2018年3月30日金曜日

Python3 エンジニア認定基礎試験、不合格でした

どうもみなさん、ノムノムです。

3/17(土)にPython3の試験を受けてきました。
結果はタイトルの通り...不合格でした。

ネットで調べると合格した方の記事しかないので、
不合格になった私の勉強方法とその問題点を書いていきます。

そもそもPython3 エンジニア認定基礎試験とは

この試験は「一般社団法人 Pythonエンジニア育成推進協会」が実施している民間試験です。
試験については以下の通りです。
  • 試験時間は60分、全40問で700/1000点(1問25点)で合格
  • 受験料は10,800円(税込) ※学生は半額で受験できます
  • CBTによるPCを使った選択式テストなのですぐに結果が確認できる
  • 受験は公式で指定されている施設で実施(受験可能な施設はここで確認)
  • 教材はオライリーの「Pythonチュートリアル 第3版」(公式にて出題傾向を掲載)

どう勉強したか

私の勉強方法は次の通りです。
  1. 「Pythonチュートリアル 第3版」を一通り読む
  2. 模擬試験を実施(模擬試験はこちら ※ユーザー登録が必要)
  3. 合格者の体験記を読んで出題傾向の高い部分を重点的に勉強
  4. 模擬試験で正答率を確認
  5. 模擬試験で間違った部分を勉強
1.が終わった直後の模擬試験では45点でした。
3.では「Python3エンジニア認定基礎試験の効率的な勉強方法!」を参考にしました。
4.で合格ラインを超え、後は5.と4.を繰り返し行いました。
勉強期間は約1ヶ月、1日に1,2時間程度で勉強していました。

反省点

  • 教材を一通り読むのに時間を費やし、コードを実際に動かして確認しなかった
  • 試験本番に緊張しすぎた
  • 模擬試験の正答率は、本試験の1週間前になる頃にはずっと8割を超えていたため、勉強を怠ってしまった
  • 模擬試験にはあった「解答済/未解答」が表示されていなかったため、見直しを怠っていた

わかったこと

試験を受けて次のことがわかりました。
  • 教材がとてもわかりにくい
        →教材に文章とコードのみ記述されおり、内容を理解しづらい。
  • 試験時間は十分にあり、見直す時間が沢山あった
       →落ち着いて試験に挑めば問題はないはず。
  • 「後で確認する」という項目にチェックを入れると、試験の最後に表示される確認画面から確認できるが、「解答済/未解答」の状態はわからなかった。
        →もしかしたら未解答のままになっていた問題があったかもしれない
  • 採点の結果で、出題範囲の章毎に正答率がわかる
        →リベンジをするにあたり、見直す部分がわかる
  • 再試験は、2回目であれば制限なしに受験できるが、3回目以降は1週間(168時間)待たなければならない

今後、受験する方へ

今後、受験を考えている方は、次のことに気をつければ問題は無いと思います。
  • 出題範囲のうち、3,4,5,8,10章は出題数が多いため、この5つをしっかり勉強すれば問題ない
        →私はこの5つがひどかったです。
  • 教材を読むよりも、まずは体験記を読んだほうが効果的
        →よく読まれている体験記:Python3エンジニア認定基礎試験の効率的な勉強方法!
  • 模擬試験は正答率が7割以上取れたことよりも、苦手部分を分析するために使ったほうが良い
  • コードを自ら作成して実行したほうが身につきやすい
        →これをもっとやっておけば覚えやすかったと反省しています。
  • 試験本番ですべて解答後、最低でも解答済みになっているかはすべて見直す
        →試験会場によって違うと思いますが、私が受けた会場では解答の選択肢にチェックしづらかったです。
試験結果でどの部分が悪かったかがわかるのはとても助かりました。
3月中には合格したいので、リベンジに向けて見直します。

それでは、今回はこのへんで、またよろしくお願いします。

2018年3月23日金曜日

使いにくいOutlookを少しでも便利に【後編】

こんにちは、ふじかーです。

メーラーを Thunderbird → Outlook に乗り換えた際の
カスタマイズメモの続きです。

前回のはこちら
使いにくいOutlookを少しでも便利に【前編】

送信済みメールを編集して再送信

何度も似たような構成のメールを送る事ってありますよね、定期報告とか。
前回のメールの一部だけ更新して再送したいとき。

Thunderbirdでは、
 送信済みタイトル一覧から、再送したいメールを右クリック→[新しく編集]を選択
とすればメール作成画面になりました。

Outlookでは[新しく編集]メニューがありませんが
下記の方法で似たことが出来ます。

・再送したい送信済みメールをダブルクリックし、一度開く
・[メッセージタブ]-[移動]-[アクション]-[このメッセージを再送]
・メール作成画面になるので編集、送信


Thunderbirdでは一覧からすぐメール作成画面だったのに
いちいち何操作も経るのがイラッとする、という方は

上記の [このメッセージを再送] の上で右クリックし
これも [クイック アクセス ツール バーに追加] してやると、少しマシになります。


【VBA】マクロを利用したカスタマイズ

あと、
・メール送信時の宛先チェックウィンドウを出す
・BCCに、常に自分のアドレスを追加する
という事をしたいんですが
Outlookの設定項目として存在してないようです。

ですが、Outlookは VBAマクロ が使用できるので、
「メール送信のユーザ操作時」に実行される処理として組み込んでやります。

OutlookでVBAを使用する場合、事前準備として
下記の2点を一度だけ実行する必要があるようです。

■マクロの証明書を作る
・[スタート]-[すべてのプログラム]-[Microsoft Office]-[Microsoft Office ツール] にある[VBA プロジェクトのデジタル証明書] を起動
・[デジタル証明書の作成] ダイアログの [証明書の名前] に自分の名前を入力
・[OK] をクリック


■デジタル署名
・[ツール]-[デジタル署名] をクリック・[選択] をクリックし、[証明書の選択] で先ほど作ったデジタル証明書を選択し、[OK] をクリック
・Ctrl+S キーを押し、マクロを VbaProject.OTM として保存


これでVBAが使えるようになりました。

処理を組み込む際は、Excelマクロ等と同じように
・Outlook を起動して
・Alt+F11 キーを押して Visual Basic Editor を起動し
・プロジェクト → [Project1] → [Microsoft Office Outlook Objects] → [ThisOutlookSession] をダブルクリック
して、コードウィンドウに記載していきます。

【VBA】メール送信時の宛先チェックウィンドウを出す

昔、送っちゃいけない人にメールを送ったことがあるので
送信前に「宛先の指さし確認」をしたいんです。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
  On Error GoTo Exception

  '表示メッセージ'
  Dim strMsg As String
  Dim objRec As Recipient
  strMsg = "件名:" & Item.Subject & vbCrLf & vbCrLf
  For Each objRec In Item.Recipients
    strMsg = strMsg & "・" & objRec.Name & vbCrLf
  Next
  strMsg = strMsg & vbCrLf & "この宛先にメール送信します。よろしいですか?"

  '送信判断'
  If MsgBox(strMsg, vbExclamation + vbYesNo + vbDefaultButton2) <> vbYes Then
    'キャンセル'
    Cancel = True  
  End If

  On Error GoTo 0
  Exit Sub

Exception:
  MsgBox CStr(Err.Number) & ":" & Err.Description, vbOKOnly + vbCritical
  Cancel = True
End Sub

【VBA】BCCに 常に自分のアドレスを追加する

ちゃんとメールが相手に届いているか?の確認の為
自分発信のメールを自分でも受けたいんです。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
 Dim objMe As Recipient
 Set objMe = Item.Recipients.Add("fujicar@○×.co.jp")
 objMe.Type = olBCC
 objMe.Resolve
 Set objMe = Nothing
End Sub
(実際は、先ほどの「宛先チェック」マクロのif文に組み込んでます)

ようやくマシになってきました。
まだ
 ・検索が不正確で使えない
 ・閲覧ウィンドウのヘッダ情報枠が幅を取りすぎてて狭い
 ・HTMLメールがテキスト変換された際、一行おきに空行が入る
など不満は残ってますが
ひとまずこれで慣れていこうと思います。


2018年3月17日土曜日

Windows10でキオスクデバイスをセットアップしてみた!

弊社ではデジタルサイネージ製品を取り扱っていますが、タッチパネルディスプレイにHTMLで作成したコンテンツをブラウザで全画面表示させる、といったお客様もいらっしゃいます。

その場合、OSの自動ログインを設定し、ブラウザをスタートアップに登録するのが簡単な方法ですが、今回は下記の記事にしたがい、Windows 10でキオスク設定してみます。

Windows 10 Pro、Enterprise、Education でのキオスクの設定


Windows 構成デザイナーのインストール


キオスク設定するには、プロビジョニングパッケージを作成する必要があります。
プロビジョニングパッケージを作成するために、下記に記載されている手順で「Windows構成デザイナー」をインストールします。
日本語版を使用したかったので、Windows ADKからインストールしました。(15~20分ほどかかります)

Windows 構成デザイナーのインストール


プロビジョニングパッケージの作成


インストールしたWindows構成デザイナーを起動します。
タスクバー上の検索ボックスに「icd」と入力すると、「Windows イメージングおよび構成デザイナー」が現れるので、
それを選択します。


Windows構成デザイナーが起動したら、「キオスク デバイスのプロビジョニング」を選択します。



プロジェクト名を入力します。



今回、デバイスのセットアップは不要なので「無効」に設定しました。






















ネットワーク設定は自分の環境に合わせて設定し、アカウント管理は「無効」に設定しました。






















キオスク用アカウントの生成を有効にし、自動サインインできるように設定します。
今回はInternet Explorerを起動アプリとして設定します。






















「作成」を押すとプロビジョニングパッケージが生成され、下に作成場所が表示されます。






















生成されたプロビジョニングパッケージファイル(Kiosk.ppkg)をUSBメモリにコピーしておきます。








プロビジョニングパッケージの適用


作成したプロビジョニングパッケージの適用方法は下記に記載されています。

プロビジョニング パッケージの適用


「設定」-「アカウント」-「職場または学校にアクセスする」に移動し、
「プロビジョニング パッケージを追加または削除する」を選択します。































「パッケージの追加」を選択します。































USBメモリにあるパッケージファイルが表示されるので「追加」します。































めでたくパッケージが追加されました。































PCを再起動すると、キオスク用アカウントで自動ログインし、指定したサイトが全画面表示されます。
エクスプローラーは起動していない状態ですので、画面右からスワイプして、アクションセンターが表示されることもありません。

またいつか、どこかで。