ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

PICでの開発方法のまとめ

2016-10-19 18:30:03 | Weblog
Lちかするだけでも、Arduinoやmbedにくらべて大変だったので、
ここにまとめておく




■用意するもの
・PICKIT3
・秋月のPickit対応ICSP書き込みアダプターキット
  http://akizukidenshi.com/catalog/g/gK-05355/
・ターゲットのPIC
 今回はPIC 12f1822
・そのほか、ブレッドボード、LちかするのでLED,抵抗、PC(Windows)など

■MPLAB® X Integrated Development Environment (IDE)のダウンロード
 http://www.microchip.com/mplab/mplab-x-ide
にいく
少しスクロールしてDownloadタブで、自分の環境に合ったものをおとしてくる

■MPLAB® XC Compilersのダウンロード
※これをインストールしないと、ビルドのところで失敗した。
 http://www.microchip.com/mplab/compilers
にいく
少しスクロールしてDownloadタブで、自分の開発する環境とPICにあったビット数のXCなんとかを選ぶ。

■IDEを立ち上げ、プロジェクトを作成する
 途中、Select DeviceでターゲットのPICを選択
例:PIC12F1822はMid-Range 8-bit MCUs (PIC10/12/16/MCP)
 Hardware Toolにpickit3
 Compiler ToolchainsにインストールしたXC8をセット

■プロジェクトのSource Filesを右クリックして、新規にファイル作成
  main.cを選択(ファイル名は違うものを付けられる)

■ファイル編集
 今回は、  http://www.geocities.jp/zattouka/GarageHouse/micon/MPLAB/12F1822/LEDblink/LEDblink.htm
 の内容をコピー

 保存して RUN→Build main project
   →コンパイルできるはず

■PICに焼く
・「File」 → 「Project Properties」をひらいて、PICKIT3から電源を取る設定をする
  http://www.geocities.jp/zattouka/GarageHouse/micon/MPLABX/MPLABX_use.htm#writing
 をしたが、
Target device was not found (could not detect target voltage VDD). You must connect to a target device to use PICkit 3.
というエラー。私の設定間違い?とにかく

http://d.hatena.ne.jp/garyo/20121021/p2

に書いてあるように、Project Propertiesでやったような設定をRUNでしてみた。
 
・書き込みアダプタの詳細は

http://akizukidenshi.com/download/ds/akizuki/PICKit_ICSP_adpV2.pdf

にある。そこに左側のジャンパ線の配線方法が書いてある

右側の、がしゃんってやるほうにPICを入れて(上に上げておく)、
入れたら、がしゃんとする

・PICKIT3を、PCにUSBで接続し、書き込みアダプタにPINで接続する

・IDEの真ん中あたりのボタンの「↓にマイコンが有る」ボタン
 (make and program device main project)をクリックすると、
 やきはじめる

・Programming/Verify completeが最後に出れば、OK

■回路をブレッドボード上に作る
・PIC12f1822のデータシート
http://akizukidenshi.com/download/ds/microchip/PIC12F1822_PIC12LF1822_PIC16F1823_PIC16LF1823.pdf
・データシート中 VSS→GNDへ
 

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Googleってモバイル版とPC版のインデックスを分離するの?

2016-10-19 15:25:02 | Weblog
たしかにモバイルで検索することと、PCで検索することは違うように思える・・・

【重要発表】Googleがモバイル版とPC版を分離する事を発表!数ヶ月以内に実施の予定
http://www.web-planners.net/blog/archives/000210.html


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Sparkによる機械学習と、ディープラーニングのしくみについて聞いてきた!

2016-10-19 11:41:43 | Weblog
10月19日、「データサイエンティスト実践セミナー Sparkによる機械学習とディープラーニング」を聞いてきた!
その内容をメモメモ!




■Spark活用による機械学習入門
本日の内容
 ・MLLibによる機械学習プログラミング
 ・分析を支援するビジュアライゼーションAPI
 ・新しい分析基盤Data Science Experience

・Spark MLLibによる機械学習プログラミング
 http://bit.ly/2ecYpWK
 与えられたデータ(コイン100枚)を教師
 クラス分類(教師あり学習)問題です

・今回出てくる言葉
 Spark MLLib
 統合エンジンSpark
  複数言語に対応していて、どの言語でも利用可能
  YARNとの連携が出来る
 MLLib
  Sparkで機械学習:MLLibとRが利用可能
 データの持ち方
  RDD:分散処理のデータセット
  DataFrame:テーブルのようなデータ構造を持った分散処理
 処理
  Spark mllib:RDDベース
  spark.ml:DataFrameベース 今後○
 mllibで
  分類と回帰
   モデル(SVM,ロジスティック回帰、線形回帰)
   ナイーブベイズ
   決定木
   アンサンブルツリー
   単調回帰
  協調フィルタリング
   ALS
 SVM
  各データ間のマージン最大化となる超平面で分類
   マージン最大化=はんか能力
  サポートベクターによって超平面を構成
  顧客の離反分析

プログラミングツール
 Jupyter Notebook
  2001年にリリース IPythonをベース

DashDB
 BlueMixのDB

デモ
 http://ibm.biz/bdu1018a

・ビジュアライゼーション
 Brunelで可視化
  ほぼ1行でかける(きれいなグラフが) たぶろーとおなじかんじ

・IBM Data Science Experience
  コミュニティ
  オープンソース
  付加価値
 これらの環境が5分で使えるようになります

・11月16日 セミナーやります

■(仮)Sparkで試してみるディープ・ラーニング
・お詫び
 Numpyを使って実装
 →Sparkでは未実装:独自で実装→ながくなるので、今日は一部

・自己紹介

・DeepLearningとは
 機械学習のひとつ ニューラルネットワーク→層を重ねる
 例:VGG16
  畳こみから入ると、こける→べつのニューラルネットで説明予定
 今日のゴール:fully-connectedを作成
   アフィン変換
   ReLU
   ソフトマックス関数

 今日説明しないこと
  CNN たたみこみ
  RNN 再帰
  GAN 教師なし学習(画像を作り出す)
  DQN 強化学習
 すうしきやらない
 各関数の詳細 微分の話:ふれない

 Batch Norm 分布調整
 Dropout

・背景
 人間の脳の構造を模してやれば、上手く識別できるのでは?
  例:単純パーセプトロン ニューロン情報処理モデル
    単純パーセプトロンの基本のき
  →非線形できない
 層を増やしてやれば、上手く識別できるのでは?
  例:FF-NN

・今日のサンプル(色の識別 3つに分類)
 何色ですか
  赤
  緑
  青

 フリーコネクティッド
  入力層
  隠れそう
   アフィン変換
   ReLU
  出力層
  レイヤ 0層 入力層
      アフィン変換と活性化関数であわせて1層
        ReLU:活性化関数
      ソフトマックス:出力関数
  アフィン変換のところがフリーコネクテッド

  フォワード処理
  バックワード処理:バックプロパゲーション

 アフィン変換
  R,G,Bの重み、バイアス(発火しやすさ)の4つの値
   アウトプット=インプット*重み+バイアス
 
 Relu:活性化させるかどうか
   活性化関数:シグモイド関数など
    0以下なら 0
    +なら 値を伝える

 いくつもつなげる

 ソフトマックス関数:最終値を扱いやすい形に変換
  →確率を出す:足すと1

 バックプロパゲーション
  バイアスを自動で設定していく:教師ラベル

  初期値設定
  フォワード:出力がでてくる
  損失関数:誤差伝播
   交差エントロピー誤差
   本来は勾配という微分計算を全パラメータに対して行う
   誤差逆伝播法だと単純計算でOK

 バックワード
  出力レイヤ(ソフトマックス+交差エントロピー誤差)
  アフィン変換の重み、バイアス(詳細は省略)

ハイパーパラメータ
 層の数とノードの数:いくつの層を重ねると
 ネットワーク全体の学習率

今日のサンプルプログラム
 240個教育、20件のデータ判定
 最後の出力は分類したい数

■ご連絡
・次回は11月11日
・11月9日にDataLakeのセミナー
・(再度)11月16日にテクニカルセミナー

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする