error : Cannot find module ‘q’が発生する

Visual Studio 2013 Update 4およびVisual Studio Tools for Apache Cordova CTP3.0の導入後に、Cordovaのプロジェクトをビルドすると「error : Cannot find module ‘q’」が発生してビルド出来なくなる場合があります。これはNode.js関連パッケージのインストールが正常に完了していないことが原因です。Visual Studio 2013のインストールフォルダの下にある「Common7\IDE\Extensions\spzoscmg.jkh\package\svs-mda」および「Common7\IDE\Extensions\spzoscmg.jkh\package\svs-mda-targets」に移動した後、以下のように「npm install -g」コマンドを使ってインストールを再度実行すると直ります。

cd C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extension\sspzoscmg.jkh\package\svs-mda
npm install -g
cd C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\spzoscmg.jkh\package\svs-mda-targets
npm install -g

Visual Studio Tools for Apache Cordova CTP2からCTP3への更新

Visual Studio 2013 Update4をインストールする前に Visual Studio Tools for Apache Cordova CTP2をインストールしていた場合には、Visual Studio Tools for Apache Cordova CTP3をインストールする必要がある。(インストールし直さないとTypeScript関連のコンパイルエラーになる)

インストーラをダウンロードするまでの手順は Visual Studio Tools for Apache Cordova CTP 2の時と同様だが、ダウンロードしたvs2013mda_0.3.exeを実行すると下記のようなエラーが出る。

install

旧バージョンのアンインストールが必要な旨と、ダウンロード手順のリンク先が示されているが、リンク先のアンインストール手順はCTP1からCTP2へ更新する場合の手順で、この通りに実施してもアンインストールできない。

リンク先の「You cannot install Visual Studio Tools for Apache Cordova CTP3.0 in Visual Studio 2013」に書かれている以下のコマンドの赤字の部分を次のように書き換える必要がある。

リンク先のページ上に記載されているパス:

“%ProgramData%\Package Cache\{dea88246-f74a-4171-ad6c-d9c978bf2973}s2013mda_0.1.exe” /uninstall /passive /force /burn.ignoredependencies={53d408db-eb91-43fb-9d8f-167681c19763};vsupdate_KB2829760

実際にファイルが置かれている場所のパス:

“%ProgramData%\Package Cache\{38f367f1-1468-4f16-a4c4-29747084003b}s2013mda_0.1.exe” /uninstall /passive /force /burn.ignoredependencies={53d408db-eb91-43fb-9d8f-167681c19763};vsupdate_KB2829760

上記コマンドを実行するとCTP2のアンインストールが始まります。アンインストール完了後にあらためてvs2013mda_0.3.exeをインストールすれば完了です。

Visual Studio Tools for Apache CordovaでENOENT, no such file or directory ‘C:\Users~\.cordova\lib\android\cordova3.5.0\VERSION’が発生する

Visual Studio Tools for Apache CordovaのHello Worldに従って、新規に作成したプロジェクトをAndroidのエミュレーター上で実行しようとしても「EXEC : error : ENOENT, no such file or directory ‘C:\Users\<username>\.cordova\lib\androidc\ordova3.5.0\VERSION’」となり実行できない。Multi-Device Hybrid Apps FAQでは「C:\Users\<username>\.cordova\lib\tmp<somestring>」以下からVERSIONファイルを検索してコピーするように記載されている。実際にはVERSIONファイルだけではなくて、「C:\Users\<username>\.cordova\lib\tmp<somestring>」以下にあるファイルをすべてコピーする必要がある。

Visual Studio Tools for Apache CordovaでENOENT, no such file or directory ‘C:\Users~\.cordova\lib\android\cordova3.5.0\VERSION’が発生する

Visual Studio Tools for Apache CordovaのHello Worldに従って、新規に作成したプロジェクトをAndroidのエミュレーター上で実行しようとしても「EXEC : error : ENOENT, no such file or directory ‘C:\Users\<username>\.cordova\lib\androidc\ordova3.5.0\VERSION’」となり実行できない。Multi-Device Hybrid Apps FAQでは「C:\Users\<username>\.cordova\lib\tmp<somestring>」以下からVERSIONファイルを検索してコピーするように記載されている。実際にはVERSIONファイルだけではなくて、「C:\Users\<username>\.cordova\lib\tmp<somestring>」以下にあるファイルをすべてコピーする必要がある。

Visual Studio Tools for Apache CordovaでENOENT, no such file or directory ‘C:\Users~\.cordova\lib\android\cordova3.5.0\VERSION’が発生する

Visual Studio Tools for Apache CordovaのHello Worldに従って、新規に作成したプロジェクトをAndroidのエミュレーター上で実行しようとしても「EXEC : error : ENOENT, no such file or directory ‘C:\Users\<username>\.cordova\lib\androidc\ordova3.5.0\VERSION’」となり実行できない。Multi-Device Hybrid Apps FAQでは「C:\Users\<username>\.cordova\lib\tmp<somestring>」以下からVERSIONファイルを検索してコピーするように記載されている。実際にはVERSIONファイルだけではなくて、「C:\Users\<username>\.cordova\lib\tmp<somestring>」以下にあるファイルをすべてコピーする必要がある。

Visual Studio Tools for Apache CordovaでENOENT, no such file or directory ‘C:\Users~\.cordova\lib\android\cordova3.5.0\VERSION’が発生する

Visual Studio Tools for Apache CordovaのHello Worldに従って、新規に作成したプロジェクトをAndroidのエミュレーター上で実行しようとしても「EXEC : error : ENOENT, no such file or directory ‘C:\Users\<username>\.cordova\lib\androidc\ordova3.5.0\VERSION’」となり実行できない。Multi-Device Hybrid Apps FAQでは「C:\Users\<username>\.cordova\lib\tmp<somestring>」以下からVERSIONファイルを検索してコピーするように記載されている。実際にはVERSIONファイルだけではなくて、「C:\Users\<username>\.cordova\lib\tmp<somestring>」以下にあるファイルをすべてコピーする必要がある。

Azure Machine Lerningの基本的な使い方1

概要

Microsoft Azure Mchine Lerningが追加されました。Google CloudやAmazon Web Service(AWS)でもMachine Lerning APIを提供していますが、MicrosoftのAzure Mchine LerningはGUI上で学習アルゴリズムをテストし、そのままWEBサービスとしてリリースすることが出来ます。そのためコーディングなど、学習のための敷居が低いのが特徴です。

それでいて、Rスクリプトを実行することが出来たり、Vowpal Wabbitの機械学習アルゴリズムを使うことも出来ます。これにより拡張性も担保されています。

チュートリアルの補足

Create a simple experimentのチュートリアルを元に基本的な使い方を確認します。このチュートリアルは自動車のメーカーや車種、サイズ、排気量、馬力等の情報から、販売価格を予測する物です。ごくシンプルなチュートリアルですが、不動産の立地条件から家賃を予測したり、様々な条件から売上を予測したりと応用範囲の広いものです。

基本操作でいくつかわかりにくいところがあります。

Azure Mchine Lerningでは作成した機械学習モデルをExperiment(実験)と呼びます。ExperimentのCanvas上にModuleを配置して、Module同士をデータの流れを表す線で接続することで危害学習モデルを作成していきます。

scoremodel1Moduleの四角い枠同士を接続している矢印の起点、終点となる○の部分をクリックするとメニューが表示されます。チュートリアルではダブルクリックしてvisualization windowを表示すると記載されていますが、この起点、終点の部分をクリックして表示されるメニューからVisualize選択して表示します。

出来上がったExperimentをWEBサービスとしてリリースする場合には終点となる部分をクリックして表示されるメニューからSet as Publish Inputを選択します。また終点となる部分をクリックしてSet as Publish Outputを選択します。これが、それぞれWEBサービスの入力パラメータと出力パラメータになります。これらを設定した後、Publish Web ServiceをクリックするとWEBサービスが作成されます。