WindowsでVisual Studio Codeの拡張機能開発環境を整える
yo,generator-codeをインストール
コマンドプロンプトから以下のコマンドでインストールできる
npm install -g yo npm install -g generator-code
generator-codeで雛形コードを生成する
コマンドプロンプトから以下のコマンドを実行する
※コマンドプロンプトはひな形を作成したい場所に移動しておくこと
yo code
統計に協力するか聞かれるのでy/nをタイプする
「Welcom to the Visual Studio Code Extension generator!」としゃべっているアスキーアートが現れれば成功
(AA崩れしているが、気にしない)
必要事項を入力する
まずはどの拡張機能タイプを作るのか聞かれている。
今回は一番上のExtention(TypeScript)を選択(上下キーでカーソルを動かせる)してEnter
後は今回以下のように設定
できたひな形を確認する
作業場所に以下のようなフォルダが作られている
このフォルダをvscodeで開く
デバッグしてみる
雛形では、コマンドパレットでHelloWorldと打つと「HelloWorld!」と表示してくれるものが書かれている
左側のデバッグを開いて、デバッグの開始をクリックする
新しくvscodeのウインドウが開く(この新しいウインドウがデバッグ環境)
[ctrl]+[shift]+[p]でコマンドパレットを開いて、Hello World 拡張機能を実行する
[情報] Hello World! と出れば成功
参考にしたサイト
WindowsにNode.jsのインストール
環境は
- Windows10 64bit
Node.jsとnpmがインストールされているか確認
コマンドプロンプトで確認
C:\Users>node --version v4.4.7 C:\Users>npm --version 2.15.8 C:\Users>
参考にしたサイト
Pythonで機械学習の練習
Pythonでロスアラモス大学が配布しているSHMTools(構造ヘルスモニタリングの機械学習デモ)をやってみた
開発環境は以下の記事通り
renga.hatenadiary.com
とりあえず、データのセットアップと特徴量探索の途中まで
# coding: Shift_JIS import numpy as np import pandas as pd import scipy.io ## データセットの構成 # # ロスアラモス大学の配布ページからダウンロードする # SHMTools Software # http://www.lanl.gov/projects/national-security-education-center/engineering/software/shm-data-sets-and-software.php # # \Examples\ExampleData\data3SS.mat # data3SS = scipy.io.loadmat("data3SS.mat") for ch in range(1,5): data = np.squeeze(data3SS["dataset"][:,ch,:]) np.save('data_ch'+str(ch), data) State = data3SS["states"].T.astype(np.int) Cond = np.empty((0,1),int) for i in range(0, State.size): if State[i] >=10: Cond=np.append(Cond,np.array([['damaged']]),axis=0) else: Cond=np.append(Cond,np.array([['undamaged']]),axis=0) df = pd.DataFrame({'State': State.T[0],'Cond':Cond.T[0]}) df.to_csv('StateCond.csv')
# coding: Shift_JIS import numpy as np #import scipy.io from scipy import signal import matplotlib.pyplot as plt from statsmodels.tsa import ar_model ## データの読み込み data = np.load('data_ch4.npy') dataGood = data[:,1-1] dataDamaged = data[:,170-1] Fs = 320 time = np.arange(0, dataGood.size) / Fs # 時系列データの表示 plt.figure() plt.subplot(2,1,1); plt.plot(time,dataGood) plt.xlabel('time [s]'), plt.ylabel('acc [m/s^2]'), plt.title('undamaged') plt.axis('tight'), plt.ylim([-2,2]) plt.subplot(2,1,2); plt.plot(time,dataDamaged); plt.xlabel('time [s]'), plt.ylabel('acc [m/s^2]'), plt.title('damaged') plt.axis('tight'), plt.ylim([-2,2]) plt.tight_layout() plt.show() ## ヒストグラムの表示 plt.figure() plt.subplot(2, 1, 1) plt.hist(dataGood, 50) plt.xlim([-3,3]) plt.title('histgram : undamaged') plt.subplot(2, 1, 2) plt.hist(dataDamaged, 50) plt.xlim([-3,3]) plt.title('histgram : damaged') plt.tight_layout() plt.show() ## 周波数スペクトルの表示 freq1, P1 = signal.welch(dataGood, Fs) freq2, P2 = signal.welch(dataDamaged, Fs) plt.figure() plt.subplot(2, 1, 1) plt.plot(freq1, 10*np.log10(P1), linewidth=2, label="nseg=n/4") plt.xlabel("Frequency[Hz]"), plt.ylabel("Power/frequency[dB/Hz]") plt.title('PSD : undamaged') plt.subplot(2, 1, 2) plt.plot(freq2, 10*np.log10(P2), linewidth=2, label="nseg=n/4") plt.xlabel("Frequency[Hz]"), plt.ylabel("Power/frequency[dB/Hz]") plt.title('PSD : undamaged') plt.tight_layout() plt.show() ## 自己回帰モデルの係数取得と表示 arOrder = 10; # TODO : モジュール化 N = data.shape[1] # dataの列数取得 coef = np.zeros((N, arOrder+1)) for id in range(0,N): model = ar_model.AR(data[:,id]) results = model.fit(maxlag = arOrder) coef[id,:] = results.params Features = coef # 可視化 plt.figure() for id in range(0,N): if id>90: plt.plot(Features[id],'b') else: plt.plot(Features[id],'r') plt.show()
Visual Studio Codeのおすすめのユーザー設定
vscodeのおすすめの設定
- 【必須】shftjis対応設定(日本語の文字化け対策)
- 【推奨】空白文字の表示
- 【推奨】垂直ルーラー表示
- 【推奨】保存時に末尾の空白削除
ユーザー設定ファイルを開く
setting.jsonの中を変更して保存
{ // ファイルの読み取り/書き込みで使用する既定の文字セット エンコーディング。 "files.encoding": "shiftjis", // エディターで空白文字を表示するかどうかを制御します "editor.renderWhitespace": true, // 垂直ルーラーを表示する列 "editor.rulers": [80], // 有効にすると、ファイルの保存時に末尾の空白をトリミングします。 "files.trimTrailingWhitespace": true }
これで日本語が入ったファイルを開いても文字化けしない
WindowsでPythonの環境構築
おすすめの環境
Anaconda + Visual Studio Code
で開発するのがおすすめ
自分の環境は
- OS:Windows10
- Python:Python 3.5.1 :: Anaconda 4.0.0 (64bit)
- エディタ:Visual Studio Code version 1.3.0
Visual Studio Code
ver1.3.0からは自信をもってほかの人にお勧めできるものになったコードエディタ
windows以外のOSでも全く同様に動くというのも素晴らしい
Anacondaのインストール
Visual Studio Codeのインストール
2,vscodeのインストール
ダウンロードした「VSCodeSetup-stable.exe」ファイルを実行
python実行環境を整える
vscode上から実行やデバッグをできるように設定する
1,下準備
pythonの開発を行うフォルダ(以下作業フォルダ)を作り、そのフォルダをvscodeで開く
開き方1:vscodeから「フォルダーを開く」で選択する
開き方2:フォルダをvscodeのショートカットにドラッグする
確認用に.pyファイルを作る
確認用にprint文を書く
2,タスクランナーを設定する
「Ctrl」+「Shift」+「B」のショートカットを押し、
出てきた「タスクランナーの構成をクリック」
「Others」を選択すると、作業フォルダに「.vscode」というフォルダと「tasks.json」というファイルが出来上がる
「tasks.json」を以下のように書き換えて保存する
(Pythonコマンドをファイルを引数に渡して実行するようにする)
tasks.json
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "0.1.0", "command": "python", "isShellCommand": true, "args": ["${file}"], "showOutput": "always" }
test.pyを選択した状態で「Ctrl」+「Shift」+「B」のショートカットを押すと、実行されるようになっているのを確認
スクリーンショット注釈ツールの調査
Skitchの代替ソフト調査
結構前からWindows版のSkitchがサポート終了してます。
今年に入ってダウンロードさえできなくなったので代わりになるソフトを調査。
しばらくSnipping Toolで頑張ってたけど、つらくなってきたので乗り換えたい
Skitch for Android・Windows・Windows Touch サポート終了のお知らせ – Evernote ヘルプ&参考情報
ほしい機能
- 美しい各種注釈(矢印、日本語文字、四角形は必須)が可能なこと
- 注釈の編集がしやすいこと
- 範囲選択スクリーンショットが可能なこと
- Windows10で動作すること
スクリーンショット注釈ツール選択肢
検索に引っかかった高評価のソフトウェアは以下のとおり
- screenpresso
- monosnap
screenpresso
Screenpresso: The Ultimate Screen Capture Tool for Windows
- デフォルトのショートカットは「PrtScr」
- 各種注釈は綺麗
- インストールなしで動かせるのもいい
- 編集感が少し違和感
- 勝手に保存されるのが嫌だ(何度も取り直したいので)
monosnap
Monosnap - Free Screenshot Tool
- デフォルトのショートカットは「Ctrl+Alt+5」
- 各種注釈は綺麗
- 編集感はOK
- 日本語がインラインで入力されないのが不便
- ショートカットを「PrtScr」に割り当てられない
その他の候補にあったソフト
- GreenShot →注釈が美しくない
- Jing →スクリーンショット注釈ソフトではなかった