D man? blog

言語開発と開発ブログ

なんとなくやる機械学習(環境構築編)

後輩用になんとなく画像認識ができるようにまとめた記事になります。
機械学習初心者なので修正点や間違っていたらコメントのほどお願い致します。

初めに

今回はPythonで実装したいと思います。なぜPythonを使うのかは検索すれば大体出てきます
なぜ機械学習にPythonが選ばれるのか

今回はTensorFlow+Kerasを使い画像認識をさせていきます。そのための環境構築編です。

主な環境として

データサイエンス向けに作成された Pythonパッケージで、科学技術計算などを中心とした数多くのモジュールやツールが独自の形式で同梱されているすごいやつ。ただし、Anaconda は一部に独自技術を使用しているため、公式パッケージでは一般的に使用されているツールなどでも、Anaconda では利用できないものがあるため、注意が必要!!
www.python.jp

  • TensorFlow(1.8.0)

機械学習に用いるためのソフトウェアライブラリである。顔認識や音声認識、メール分別もできるすごいやつ。
TensorFlow - Wikipedia

  • Keras(2.1.6)

Pythonで書かれたオープンソースニューラルネットワークライブラリである。ディープニューラルネットワークを用いた迅速な実験を可能にするよう設計され、最小限、モジュール式、拡張可能であるすごいやつ。
Keras - Wikipedia

インストール

Anaconda

www.anaconda.com
↑ここからお使いのパソコンに合わせてDownload
今回私の環境はWindowsなのでWindowsの人は下記の画像を参考にしてください
f:id:d-lan:20180603224622j:plain
ダウンロードしたらexeファイルをクリックします。インストーラが表示されるので指示に従ってください
f:id:d-lan:20180604011912j:plain
Nextをクリック

f:id:d-lan:20180604012033j:plain
I Agreeをクリック

f:id:d-lan:20180604012120j:plain
Nextをクリック

f:id:d-lan:20180604012155j:plain
インストールする場所を聞かれるので適当にインストールする場所を指定してください。あとで環境変数で使うので場所は控えといてください。

f:id:d-lan:20180604012325j:plain
Installをクリックするとインストールが始まります

f:id:d-lan:20180604012355j:plain
インストールが終わったらNextボタンが現れるのでクリック

f:id:d-lan:20180604012500j:plain
とりあえずSkipをクリック

f:id:d-lan:20180604012542j:plain
FinishをクリックしてAnacondaのインストールが完了です

f:id:d-lan:20180604013412j:plain
Anaconda Promptがあるのでそれを使いましょう

f:id:d-lan:20180604013523j:plain

python --version

と入力するとPythonのバージョンが出ます(出なかったらヤバイ)

環境変数

WindowsコマンドプロンプトPythonコマンドを実行したい人向けの設定です

f:id:d-lan:20180604013837j:plain
環境変数を開きます

f:id:d-lan:20180604013710j:plain
Pathを選択して編集をクリックします

f:id:d-lan:20180604014008j:plain
新規をクリックします。そしてインストールしたディレクトリを入力します

f:id:d-lan:20180604014113j:plain
こんな感じに「~\Anaconda3」みたいな感じになったらOKボタンを押す

f:id:d-lan:20180604014338j:plain
コマンドプロンプトを開き

python --version

と入力するとPythonのバージョンが出ます(出なかったらヤバイ)

TensorFlow

次にTensorFlowをインストールします
Anaconda Promptなどに

conda install -c conda-forge tensorflow=1.8.0

を入力してEnterを押します

Proceed ([y]/n)?

がでるのでyを入力しましょう

Keras

次にKerasをインストールします
Anaconda Promptなどに

pip install keras

を入力してEnterを押します

インストール確認を一応します
Anaconda Promptなどに

~>python
>>>import tensorflow
>>>import keras

と入力して「Using TensorFlow backend.」って出れば成功です

まとめ

とりあえず環境構築が終わりました
次回は、学習に必要な画像の集め方について書きます
お願い致します。

↓次
www.d-man.site

SecHack365-神奈川回

 

一日目

8:30起床

新幹線の領収書をもらい忘れたので早めに出る

 

9:30家を出る

前日準備を完了させないでいたので超慌ててた...

 

10:00新幹線のある駅に着く

新幹線の改札の中にスタバがあるので人生で初めて新幹線の中でスタバ決めた

 

11:00新横浜駅につく

乗り換えに失敗して時間をかなり浪費

 

11:30?最寄り駅に着く

SEGAのゲーセンを見つけてボルテが置いてあったのでやってしまった....

 

13:20到着

席が自由な方式なのでコミュ障なわいは誰も座ってない席へ

 

14:00お話

ありがたいお話

 

15:00マンダラート

なんと首からかけている参加者証みたいな者に番号が書いてあり同じ番号の人とグループで座ることに

その後コミュニケーションをとり、マンダラートをやった。

マンダラートは、発想法の一種[1]。紙などに9つのマスを用意し、それを埋めていくという作業ルールを設けることにより、アイデアを整理・外化し、思考を深めていくことができる。今泉浩晃によって1987年に考案された 

 

マンダラート - Wikipedia

大谷翔平もやっていたらしいのですごい

自分の真ん中に入るものが難しくて結構悩んだ...

18:00トレーナー紹介

個性豊かなトレーナーばかりでした

 

19:00ご飯

f:id:d-lan:20180526010812j:plain

f:id:d-lan:20180526010814j:plain

立食パーティ

レクリエーションもやってさっきのグループでトレーナーの特徴が書かれた紙を渡されトレーナーのところに行きあっていればサインをもらえるゲームをやった

18歳ってだれがわかるんだよ....

 20:00解散

部屋に戻りベットで寝た。(家では地べたに寝ているのでフカフカなベットは久々だった。まさに天国!!)

 

無線LANが部屋にないのでホテルで使える無線LANを買ってきて飛ばそうとしたらLANケーブルがデフォルトで入ってない商品で積みました...

f:id:d-lan:20180526013525j:plain

※LANケーブルは付属しません。

 

 

 二日目

7:00起床

超眠い


7:30朝食(バイキング形式)

めっちゃ食った


9:00アイデアソン
ペアでぐるぐる回りながらアイデアを発表する
そしてブラッシュアップしていく
その後全体で25秒で発表

 


12:00昼食(チキンステーキ)

バイキング形式は前菜とかだった


13:00各コースに分かれて活動

始めてゼミメンバー全員集合した。
私は、川合ゼミでEssenの開発
とりあえず言語の仕組み入門を色々やった
めっちゃ和やかな雰囲気だった

かなりのお菓子を食いながら作業

十数年ぶりにドクターペッパーを飲んでくそうまかったのでドクターペッパーが好きになってしまった。

 


19:00夕飯(バイキング)

バイキング最高!!


20:00各自自由な時間(明日のプレゼントと1日目のマンダラートの完成)

ワンピースがテレビでやってたので見ながらやってたら進まなかった...

自己紹介プレゼンをつくるのだが何を書いていいかわからなかったので、とりあえず静岡にあるさわやかについて語った...

げんこつハンバーグにオニオンソースをかけるんだぞ!!


01:40就寝

隣の部屋に同じゼミのLANがささらなかった人がいたので協力してLANケーブルを借り無線でネットワークに繋ぐことに成功しました!!!!

ひと段落

やっぱり

ふかふかのベットって最高ですよね!!

 

三日目

7:00起床

超眠い


7:30朝食(バイキング形式)

めっちゃ食った

 

9:00自己紹介

開発駆動コース内で自己紹介をやりました。

おっと一人寝坊した

なんと厳しいタイムキーパー付きで強制5分プレゼンでした(最初は楽)

自分はさわやかについて爽やかに話しました()

他の自己紹介を見てみると低レイヤーガチ勢しかいないことに気づき恐ろしくなった...

NimとRust使いがいて感動した

 

終わったらトレーナー坂井さんの完璧プレゼンテーションタイム!!

すごいプレゼンテーションでした(語彙力)

 

12:00昼食(sakana)

バイキング形式は前菜とかだった

 

13:00各コース

各コースでの活動だった。とりあえず言語開発の入門をひたすらにやった。ゼミ内全員常時もぐもぐタイムが発動してた(おやつタイム)

ドクぺが飲みたくなった...

 

15:00次回予告

次回の予告。

次回は北海道

 

あと全員で集合写真を行った

 

15:30くらい解散

きた道を帰るだけ

新横浜の駅で鳩サブレ買おうとしたけど財布の中に2000円しか入ってなくて諦めた....

 

18:00くらい帰宅

とても良い3日間でした。

 北海道が楽しみです。

お疲れ様でした

 

おまけ

帰宅後、実家に帰りました。その途中でSAによってラーメンを食べました。

SecHack後ラーメンを食べるのが決まりらしいです(ほんとかよ!!)

なので食べました

f:id:d-lan:20180526013212j:plain

はい、ラーメンです...

 

美味しかったです

 

f:id:d-lan:20180526014002j:plain

 

 

 

初めてのD言語(超入門)

D言語とは

D言語(ディーげんご、D programming language)は、プログラミング言語のひとつ。C言語をベースとしABI互換を保ちつつも、テンプレートによるジェネリックプログラミングやオブジェクト指向プログラミング、関数型プログラミングなどをサポートするマルチパラダイムプログラミング言語である。

小難しいこと書いてありますが、ただのプログラミング言語です。

www.tiobe.com


プログラミング言語ランキング30位くらいの言語で、かなりに人気が低いです(泣)
特徴として
D言語に公式キャラクターがいる!!

ということです。

↓これです

f:id:d-lan:20180522121040p:plain

D言語くんって言います。



めっちゃかわいいですよね!!

なんやこいつ??貧弱やんけ...

こんな可愛いキャラがいるのになんで人気がでないんですかねぇ〜(謎)

D言語使いを増やすために布教運動を活動したいと思います....

はっきりいうとC++の拡張です...

もしD言語使いで記事を書きたかったら連絡してください...(編集権限あげます)

インストール

dlang.org

↑公式サイトです


dlang.org


インストーラが置いてあるページです。

f:id:d-lan:20180522122342p:plain

とりあえず自分にあってるものをダウンロードします

適当にインストールして頑張って!!

HelloWorldを書いてみる

import std.stdio;
void main(){
    printf("HelloWorld!!\n");
}

おっとprintf???

C言語やん!!!

ちなみに別の書き方で

import std.stdio;
void main(){
    write("HelloWorld!!\n");//最後に改行なし
    writeln("HelloWorld!!"); //最後に改行あり
    writef("HelloWorld!!\n");//format
}

なるほどな〜!!

コマンドラインで実行する場合

dmd ファイル名.d

コンパイルできます。
実行時は、Windowsならexe,Macなら実行ファイルが出力されるので各自実行してください

HelloWorld!!が表示されれば成功です。

最後に

はっきり行ってC言語で大抵かけます。

↑これ重要

今度はD言語の機能を紹介したいのでがんばります

Let's D言語!!


SecHack365 応募編

目次

 SecHack365とは

SecHack365 では、25 歳以下の学生や若手社会人から公募選抜された 40 名程度の受講生に対し、一年を通してセキュリティ技術の研究開発を指導することで、セキュリティイノベーターとなる人材を育成します。

公式より拝借

sechack365.nict.go.jp

参加経緯 

ぱい先に聞くまでこのイベントについて知りませんでした。ぱい先にすすめられて募集をしてみたって感じですかねぇ〜

セキュリティキャンプみたいに応募時に課題があり、去年は一つの課題だったらしいのですが、今回は3つのコースがあり、3つとも課題が異なる内容でした。

自分は、開発駆動コースを応募しましました。(言語開発がやってみたかったから....)

課題

思索駆動コース

表現駆動コース

開発駆動コース

この三つのコースがあり各コースによって課題が異なった。課題内容は公開できないので割愛

とりあえず素直に書いた

 

結果発表

結果発表はゴールデンウィークにあり、なんと電話がかかってきたら合格というなんとも原始的な結果発表でした。公式のTwitterが「お昼頃から電話をかける」ってツイートをみた途端電話がかかってきたのでやったこれってなりましたね〜

電話は夕方までかけてたらしいのでかなりの合格者がいたのではないでしょうか...

(電話早くかかってきてよかった...)

 

※5/20追記

なんと参加者50人と去年より多い!!

f:id:d-lan:20180520235612p:plain

こりゃすごい

 

はじめまして

初めまして、D言語くんでお馴染みな人です。

わけがあってブログを書きたいと思います。

先日SecHack365というセキュリティのハッカソンに応募して合格したので探検記を書きたいことや、日頃やったことを備忘録として残そうと思いはじめました。

一応まだ大学生です。

持っている資格をあげると

  • ITパスポート
  • 基本情報
  • 応用情報
  • セキュリティスペシャリスト
  • Java Bronze
  • CCENT
  • などなど...

個人的にPHPでWebページ書いたり色々やっています。

ちなみに競プロをやっていた時期がありまして、情報オリンピックの本選とか行きました。

 

D言語を布教させたいマン...

D言語の記事をぼちぼち書きます

よろしくお願いします

 

ラーメンが大好きです