[PowerShell] ZoneIDとPowerShellの実行ポリシー
PowerShellでちょっとしたツールを動かそうと思って、初歩的なところであれ?となったので、書いておきます
PowerShellの実行ポリシー(Execution Policy)は、
|
|
このコマンドで確認できます
Windows10のデフォルトでは Restricted になっていて、ps1 ファイルをコマンドライン上から実行することが出来ません
なので
|
|
を実行して、 RemoteSigned にセキュリティポリシーを変更します
しかし、RemoteSigned になってることを確認したのに、
しかしなぜか、ps1 ファイルの実行時にセキュリティエラーとなってしまいました
なんだこれ(↓)は…?
|
|
なんでだろーと思ってたのですが、何てことはない
実行しようとしてた ps1 ファイルは、インターネット越しに入手したものでした
(自分のサイトから落としてきたんだけどね)
こんな感じ↓↓↓
どうやら、インターネット越しに入手したファイルには ZoneID というのが付与されるらしく
Windowsはローカルファイルと区別出来るようにしてくれてるんですね~
ローカルファイルとして扱いたい時には、ポチっと「ブロックの解除」を押せばOKです
ちゃんと、ps1 ファイルが動作するようになりました(^^♪
ZoneID…知らなかった…><。
参考:
- WindowsでPowerShellスクリプトの実行セキュリティポリシーを変更する - @IT
http://www.atmarkit.co.jp/ait/articles/0805/16/news139.html
[Android] 謎のエラー「Unable to start debugging.」が出たときの対応
Androidデバッグで実行時エラー
環境
- Windows10 x64
- Visual Studio 2017
- Project type: Native-Activity Application (Android)
ある時…Visual Studio で作っている Android プロジェクトが、実行時エラーになりました
Unable to start debugging. Check your debugger settings by opening project properties and navigating to ‘Configuration Properties–> Debugging’
デバック出来ないからね!プロジェクトの設定見てね!的な意味みたいですが
デバッグモードで動かしてるし…
一体どこの何の事を言ってるのか判らない…><。
リリースモードならOKなのかしら?と思っても、同様のエラー”(-“”-)”
解決案(わたしはこれでは解決しませんでしたが)
検索しても、実のある回答は特に出てこず…
唯一、解決っぽいのが、NVIDIAさんのフォーラムに載ってました
- CodeWorks for Android 1R4: Unable to start debugging - NVIDIA DEVELOPER
https://devtalk.nvidia.com/default/topic/957019/codeworks-for-android-1r4-unable-to-start-debugging/
元ネタリンクはMicrosoftさんのGitHub情報みたいです
- MEF - GitHub Microsoft/VSProjectSystem
https://github.com/Microsoft/VSProjectSystem/blob/master/doc/overview/mef.md#mef-inside-visual-studio
簡単に言うと、VSの Developer Command Prompt を使って、キャッシュクリアしてみたら?というもの
やってみました
Developer Command Prompt を検索して立ち上げる
以下のコマンドを打つ
Devenv /UpdateConfiguration
Devenv /ClearCache
もっともらしい対策なんですけど、わたしの実行時エラーは解決しませんでした
何がダメなのだろ…((+_+))
わたしが解決した方法
で、実際の解決策ですが…
すみません、散々あーだこーだ書いてますが
スタートアッププロジェクトの設定もれ でした…( ;∀;)
いやはや、お恥ずかしい…
Androidプロジェクトが参照する、別のプロジェクト達が
同じソリューションファイルの中に複数存在しています
なのに、Androidプロジェクトを起動プロジェクトに設定しておらず…
ポカミスとはまさにこの事!( ;∀;)
なぜこれに気が付かなかったのか…相当焦ってて、周りが見えてなかったみたいです
二度と同じ過ちを繰り返さないように…><。
あと、同様のエラーで困ってる人の何かしらの参考になればと思います><。
[Android] Hyper-Vで使うVisual Studio Emulator for Androidの最初の一歩
どうもうまくAndroidエミュレータが動かない…
いわゆる ADV Manager をつかって、Androidをエミューレートしたいのですが
なぜかうまく起動しない…
環境
- Windows10 x64
- Visual Studio 2017
Android SDK Managerをよく見てみると、HAXM installer が “Not compatible with Windows” となっています
ふむ…
無理矢理 HAXM のインストーラーをダウンロードしてきても、こんな感じでエラー
This computer does not support Intel Virtualization Technology (VT-x) or it is being exclusively used by Hyper-V, HAXM cannot be installed.
Please ensure Hyper-V is disabled in Windows Features, or refer to the Intel HAXM documentation for more information.
なんですと…Hyper-Vが入ってたら使えないよだと…(`・ω・´)
ワタクシ、Android 開発のために手元の Hyper-V を辞める事は出来ないデスヨ!
調べてみると「Visual Studio Emulator for Android」というHyper-Vベースで動くエミュレーターが用意されているらしいので設定してみました
Visual Studio Emulator for Android
すでに色んな方が同じ様な記事を書かれていますが、わたくしも今一度、再確認でございます…
1. まず、Hyper-V が有効なこと
(Control Panle > Programs and Features > Turn Windows features on or off)
2. Visual Studio 2017のインストーラーで「Visual Studio Emulator for Android」を選択すること
下の図では「Google Android Emulator」「HAXM」も選択してますが、はっきり言って
この2つと、「Visual Studio Emulator for Android」は、排他の関係にあるので
「Visual Studio Emulator for Android」だけ選択でOK
3. 「Visual Studio Emulator for Android」を立ち上げる
検索すると、インストールされてます
立ち上げたらこんな画面
これでまずは準備完了
エミュレーターの起動
1. 空のプロジェクトを作る
わたしはC++で開発したかったので、Androidプロジェクトの「Native-Activity Application (Android)」で新規作成しました
デバックメニューに「Visual Studio Emulator for Android」の欄が増えてますね
(注意!)「x86」を選択しないと、このエミュレーターは出てきません!
2. 「Visual Studio Emulator for Android」でAndroidを起動させる
先ほど立ち上げた「Visual Studio Emulator for Android」のメニューより、緑の三角印を押して、エミュレーターを起動させます
起動できた(`・ω・´)
エミュレーターが起動しない時
最初、わたしはエミュレーターが起動途中でストップしてしまいました(-_-)zzz
The emulator is unable to connect to the device operating system:
Could’t auto-detect the guest system IP address.
Some functionality might be disabled.
なんじゃこりゃ…(´・ω・`)
IPうんぬんと書かれてるので、NWプロパティを見てみます
Conrtol Panel
> Network and Internet
> Network Connections
Hyper-Vが「Visual Studio Emulator for Android」のために作ったと思われるアダプターがありました
わたしの場合
vEthernet (Internal Ethernet Port Windows Phone Emulator Internal Switch)
という名前です
IPv4プロパティを見てみると、変なIPアドレスが割り当てられてる…?
慌てて削除し、動的に変更する設定に変えます↓↓↓
いちお、NWアダプタは「識別されてないネットワーク」状態ですが
エラー表示にはなっていません
この状態で、エミュレーターを起動させると、無事立ち上がりました(^^)良かった!
エミュレーターでデバックする
VSに戻ってみると、こんな感じでエミュレーターがデバックで使えるようになってます!
VSからデバック実行させると
サンプルが動作しました
この状態でブレークポイントも効くので、まずは最初の設定完了って感じでしょうか
パチパチ(^^)
※ちなみに実機でデバックする時には、「x86」じゃなくて「ARM」など、その実機に合ったCPUを選択したらOKです
[Unity] 常にカメラの前にSpriteを出す
Unityでカメラに追従して、前面にSpriteを出す方法
これ、本当は、カメラの子供として指定すればもっと簡単なんですけど…
testScript.transform.parent = Camera.main.transform
この場合、
カメラにアニメーションが付いてる時(メインカメラは固定ポジションのままの時)に
うまく乗せられなかったりして、
面倒だなーと思い、Update毎に自分で位置を更新することにしました
(変に親子関係があるのも、後で何か制限されたらやだなーとかとかもあり…)
以下を参考にしたら、簡単にカメラの前に表示するスプライトを簡単に表現できました
- カメラからの距離で求める錐台のサイズ
https://docs.unity3d.com/jp/540/Manual/FrustumSizeAtDistance.html
public class TestExecutor : MonoBehaviour
{
private Texture2D blackTexture;
private SpriteRenderer testSprite;
void Start()
{
// Create black texture
blackTexture = new Texture2D(32, 32, TextureFormat.RGB24, false);
blackTexture.SetPixel(0, 0, Color.white);
blackTexture.Apply();
// Create Sprite
var sprite = Sprite.Create(
texture: blackTexture,
rect: new Rect(0, 0, blackTexture.width, blackTexture.height),
pivot: new Vector2(0.5f, 0.5f)
);
// スクリプトからSprite生成
testSprite = new GameObject("TestSprite").AddComponent<SpriteRenderer>();
testSprite.sprite = sprite;
}
void Update()
{
var distance = 10f;
// カメラの前に置く距離に応じて、ワールド座標でのスクリーンサイズを求める
// (distance +1f) の意味は、スクリーンサイズよりちょい大きめで画面を覆いたいから
var worldScreenH = 2.0f * (distance + 1f) * Mathf.Tan(Camera.main.fieldOfView * 0.5f * Mathf.Deg2Rad);
var worldScreenW = worldScreenH * Camera.main.aspect;
// Spriteのサイズを調整
testSprite.transform.localScale = new Vector3(worldScreenW / testSprite.sprite.bounds.size.x, worldScreenH / testSprite.sprite.bounds.size.y);
// カメラの角度と位置をコピー、前に置くだけならforwardベクトルが便利
testSprite.transform.position = Camera.main.transform.position + testSprite.transform.forward.normalized * distance;
testSprite.transform.rotation = Camera.main.transform.rotation;
// フェードとかさせたいなら、ここでαを調整
testSprite.color = new Color(0, 0, 0, fadingAlpha);
}
}
Gist - Unity Sprite on front of camera
こんな感じで、Spriteがカメラにくっついてきてくれます
忘れそうな自分へのメモ
[SSH] ポート指定GitサーバにSSHでアクセスできない時(Windows/GitExtensions)
最近…
機械学習関係をやってたんですけど、Unityをまた触ることになっています
てんやわんやして、前回更新から2カ月も経ってしまった…(+o+)
今回また、タイトル名のGit/SSH関係でオロオロしたので、同現象で困ってる人の助けになれば幸いです
(現象)初回SSH接続に失敗する
環境
- Windows7/64bit
- GitExtensions
- キーペアを用いた認証でのSSH接続
- GitサーバへのSSHアクセスは、オリジナルのポート番号を割り当てている
こんな環境で作業していました(古いPCからアクセスしたかったので、Win7なのです…)
初回クローンするために、Gitサーバにアクセスしようと、秘密鍵を .ssh ディレクトリ以下にコピーしておきます
デフォルトのSSH秘密鍵置き場は
c:\Users[ユーザ名].ssh/id_rsa
ですGitExtensionsを利用してGitリポジトリからクローンしようとすると、以下のエラーが…
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and repository exists.
え、なんで…?
(解決)ポート番号ありでknown_hostsに登録する
アドレスも合ってる!
リポジトリもある!
サーバには公開鍵、クライアントには秘密鍵を置いてる!
これでなぜアクセス出来ないのか、解明に半日かかってしまいました…トホホ
自分のインフラ力の無さに涙が出そうです
答えを書きますと、
- 先にコマンドプロンプトからSSHアクセスを行っておく
- ポート番号の指定がある場合は、ポート番号指定でアクセスしておく
これで解決しました…(^_^;)
わたしの場合のポイントは、ポート指定でした
コマンドプロンプトを立ち上げます
わたしの場合、GitExtensionsを使ってたので Tools > Git bash から立ち上げましたSSH のテスト接続を行います
$ssh git@[サーバアドレス] -p [SSHアクセスのポート番号]
そしたら、
Are you sure you want to continue connecting (yes/no)?
と聞かれるので、すかさず yes を!
c:\Users[ユーザ名].ssh\known_hosts にアクセス情報が登録されます
これで GitExtensions に戻って新規クローン開始したら、拒否されることなくソースを取得できました!
まとめ
最初に、
$ssh git@[サーバアドレス]
この状態で接続テストしてたんですけど、足りてないみたいでした
たったこれだけなんですけど、あまり情報が乗ってなかったように思いますので
未来の自分へのメモ…
[TensorFlow] TensorFlow on Windows GPU版インストール方法
前回、TensorFlowの環境を作るために、Anacondaをインストールしました
- [Anaconda] Anaconda for Windowsインストール方法
http://h-sao.com/blog/2017/03/29/how-to-install-anaconda-for-windows/
その続きで、TensorFlow GPUバージョンを入れたいと思います
わたしの環境は以下です
- Windows10 x64
- NVIDIA GeForce GTX 960
- Anaconda 4.3.1 For Windows
はじめに…
TensorFlow公式サイトのインストール方法では、残念ながらうまく動作させることは出来ませんでした…(´・ω・`)
Installing TensorFlow on Windows
(公式サイトだけど、2017/4/10時点、わたしの環境ではダメだった)
https://www.tensorflow.org/install/install_windows
どこを見たら良いかというと、TensorFlowのGitHubの方 です…!!!
ここ見るべし(。-`ω-)クワワッ
- TensorFlow-Github-Install_Windows tensorflow/tensorflow/docs_src/install/install_windows.md
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/docs_src/install/install_windows.md
今回の全インストールログは、わたしのGistにアップしておきました
→ Install_log_on_Windows_for_TensorFlow_GPU.log
では、やった手順を記載します!
1) NVIDIA CUDA Toolkit をインストールする
TensorFlowにはCPU版とGPU版が提供されています
CPUのみでも動くのですけど
開発環境の構築というのはなんともめんどくさいので
最初に出来る事をやっとくことにします
まずは、CUDA のインストール
※CUDAとは、GPUを活用するための開発環境です
GPUを使うには、NVIDIAのCUDAを入れる必要があります
- CUDA Installation Guide for Microsoft Windows
http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/
2017/4/10時点の NVIDIA CUDA Toolkit のバージョンは 8.0.61 です (Windows10)
1.3GBありました!
わたしは Visual Studio 2017 を入れているのですが、まだサポートされてないよ って出ました
NVIDIA の公式によると、2017/4/10時点では
Visual Studio 2015 の VC++14.0 まで対応しているみたいです
NVIDIAのドライバも更新されるため、何度かチラチラと画面が黒くなりますが
それ以外は特に問題もなく、Toolkitのインストールは完了します
2) NVIDIA Developer Membership に登録する
さて、続いて cuDNN をインストールする必要があります
cuDNN は The NVIDIA CUDA Deep Neural Network library の略
つまりCUDAのライブラリ群です
- NVIDIA cuDNN - GPU Accelerated Deep Learning
https://developer.nvidia.com/cudnn
cuDNNをダウンロードするには、NVIDIA Developer Membership に登録する必要があります(登録だけなら、お金は要らなかった)
登録時に簡単な Survey がありますので、良しなに記載しておきます
登録完了すると、速攻で
「Please confirm your email to join the Accelerated Computing Developer Program」
という件名のメールが飛んできました
中のリンクをクリックしたら、登録完了です
こんな感じで NVIDIA Developer Membership への登録は瞬殺で終わりました
3) NVIDIA cuDNN をインストールする(正確にはパスを通す)
登録が済んだら、cuDNN をダウンロード出来ます
※ここでもまた、Survey があります(^^;
先ほどインストールした CUDA Toolkit は 8.0 なので、それに対応した cuDNN v6.0 を選択!
2017/4/17追記:
cuDNN6.0には 後程記述する cudnn64_5.dll が入っておらず
現時点ではTensorFlowのインポートでエラーが出ます
cuDNN v5.1 をダウンロードして、回避しました
scimprさん、教えて下さってありがとうございました
落としてきたのはただのZIPファイルなので、展開し、好きなディレクトリに設置します
わたしの場合は、 D:\Library\cuda というディレクトリを作って置きました
もしくは、cuda と cuDNN のバージョンは必ず一致しないと行けないようなので
cudaのインストールパス
(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin)
に手コピーするのも、一つの手らしいです
cudaディレクトリにコピーした人はパスを設定しなくていいので、以下は飛ばしてください
このパス(わたしの場合、D:\Library\cuda\bin)が Anaconda 環境から見えるように、Windowsのパスを設定しておきます
パスを通すのくらいは…と思いましたが、ついでにキャプチャは取ったので、それだけ載せておきますね
コントロールパネルのシステムを開く
システムプロパティの環境設定を開く
自分の環境設定のパスを編集する
パスを新規追加
一応、パスが通ってることを path コマンドでチェックしとく
ま、こんな感じです
4) TensorFlow on Windows (GPU) のインストール
いよいよ TensorFlow のインストールを行います
最初に、Anaconda Promptを開いて、環境をTensorFlow用のやつに変えておきます(前回の記事で書いたやつです)
- activateコマンドで環境を切り替えておく
|
|
(以下、失敗手順も含んでいます)
- pip コマンドを使ってTensorFlow GPU をインストールする
(実はこの動作は 2017/4/10現在、間違っています)
|
|
Tensorflowのインストールは出来ましたが、一番最後、なにやらファイルが無いとエラーが出ています
よくわからない( ̄▽ ̄)
- インポートの動作確認してみますが、うまくいってないよう…
cudnn64_5.dllが無い って言われる
|
|
あれ?
ちゃんとCUDA8.0 に対応した cuDNN6.0 を入れたのに…(´・ω・`)
良く見てみると、わたしの落としてきた cuDNN の DLL は cudnn64_6.dll
エラーが出てるDLLは cudnn64_5.dll
…もうGetできなくね???(;^_^A
。
。
- 暫定対応
調べてもよく判らなかったので
持ってるDLLのファイル名を変更して使うことにしました(*ノωノ)
なんか今後問題でそうですが、致し方なし…
誰か、解決策あるなら教えて下さい(T▽T)
2017/4/17追記:
scimprさんに教えて頂きました
cuDNN5.1を選ぶと、cudnn64_5.dll が入っていますので、ここに書いたコピー暫定対応はしてはいけません!
cuDNN5.1でも問題なく TensorFlow 1.1.0rc1 は動いています!!
- 再度、インポート動作確認
TensorFlowのバージョンは 1.0.1、インストールしまして、インポートでのエラーは出なくなりましたが…
|
|
実はこの後、Hello TensorFlow! を表示しようとして、別の OpKernel エラーが大量発生します
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel (‘op: “BestSplits” device_type: “CPU”‘) for unknown op: BestSplits
なんだよこれは…(。-`ω-)
|
|
ここでようやく、インストールが上手く行ってないことに気が付きます(+o+)
よし、気を取り直して
公式サイトではなく、GitHubの方に書かれている、インストール方法 を参考にしてみます
- さっき入れた TensorFlow1.0.1 をアンインストール
# Uninstalled TensorFlow
(tensorflow) D:\dev\anaconda>pip uninstall tensorflow-gpu
Uninstalling tensorflow-gpu-1.0.1:
c:\utils\anaconda3\envs\tensorflow\lib\site-packages\external\d3\d3.js
c:\utils\anaconda3\envs\tensorflow\lib\site-packages\external\d3\d3.min.js
(中略)
c:\utils\anaconda3\envs\tensorflow\scripts\tensorboard.exe
Proceed (y/n)? y
Successfully uninstalled tensorflow-gpu-1.0.1
- 再度、公式のGitHubの方に書かれているWindowsインストール方法を実施
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/docs_src/install/install_windows.md
※2017/4/10現在の情報です、正確には公式GitHubサイトを確認してください
> pip install –ignore-installed –upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0rc1-cp35-cp35m-win_amd64.whl
# Re-install TensorFlow for Anaconda, it's best way for Anaconda/Windows user!
(tensorflow) D:\dev\anaconda>pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0rc1-cp35-cp35m-win_amd64.whl
Collecting tensorflow-gpu==1.1.0rc1 from https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0rc1-cp35-cp35m-win_amd64.whl
Downloading https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0rc1-cp35-cp35m-win_amd64.whl (48.6MB)
100% |################################| 48.6MB 26kB/s
Collecting werkzeug>=0.11.10 (from tensorflow-gpu==1.1.0rc1)
Downloading Werkzeug-0.12.1-py2.py3-none-any.whl (312kB)
100% |################################| 317kB 3.0MB/s
Collecting numpy>=1.11.0 (from tensorflow-gpu==1.1.0rc1)
Using cached numpy-1.12.1-cp35-none-win_amd64.whl
Collecting protobuf>=3.2.0 (from tensorflow-gpu==1.1.0rc1)
Using cached protobuf-3.2.0-py2.py3-none-any.whl
Collecting six>=1.10.0 (from tensorflow-gpu==1.1.0rc1)
Using cached six-1.10.0-py2.py3-none-any.whl
Collecting wheel>=0.26 (from tensorflow-gpu==1.1.0rc1)
Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
100% |################################| 71kB 4.0MB/s
Collecting setuptools (from protobuf>=3.2.0->tensorflow-gpu==1.1.0rc1)
Using cached setuptools-34.3.3-py2.py3-none-any.whl
Collecting packaging>=16.8 (from setuptools->protobuf>=3.2.0->tensorflow-gpu==1.1.0rc1)
Using cached packaging-16.8-py2.py3-none-any.whl
Collecting appdirs>=1.4.0 (from setuptools->protobuf>=3.2.0->tensorflow-gpu==1.1.0rc1)
Using cached appdirs-1.4.3-py2.py3-none-any.whl
Collecting pyparsing (from packaging>=16.8->setuptools->protobuf>=3.2.0->tensorflow-gpu==1.1.0rc1)
Using cached pyparsing-2.2.0-py2.py3-none-any.whl
Installing collected packages: werkzeug, numpy, six, pyparsing, packaging, appdirs, setuptools, protobuf, wheel, tensorflow-gpu
Successfully installed appdirs-1.4.3 numpy-1.12.1 packaging-16.8 protobuf-3.2.0 pyparsing-2.2.0 setuptools-34.3.3 six-1.10.0 tensorflow-gpu-1.1.0rc1 werkzeug-0.12.1 wheel-0.29.0
TensorFlowのバージョンは 1.1.0rc1 になりました
(2017/4/10現在)
- Hello TensorFlow! の表示で動作確認
|
|
これでOpKernelエラーは出なくなりましたし、GPU利用のログも出ていますね
name: GeForce GTX 960
major: 5 minor: 2 memoryClockRate (GHz) 1.253
…
ほっ…(≧▽≦)
(おまけ)SSEのワーニングを消すには?
しかし良く見て!?
エラーは消えたけど、ワーニングは出てるよっ!?!?
どうやらこれについては、本家GitHub issue でも取りざたされています
- “The TensorFlow library wasn’t compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations” in “Hello, TensorFlow!” program #7778
https://github.com/tensorflow/tensorflow/issues/7778
意味は、ソースからコンパイルし直したら、CPUが早くなるんじゃね?というお知らせの様です
うーん…GPUで動かしてるのにCPUを早くする??よくわからんです
これは放置でも動作に問題ないらしいのですが、見たくない場合は、ログレベルを変更したら見えなくなると、issueに記載がありました
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’]=‘2’
こんな感じですっきりしました
GPUの確認ログも消えちゃいますけど…
# Changed worning level
(tensorflow) D:\dev\anaconda>python
Python 3.5.3 |Continuum Analytics, Inc.| (default, Feb 22 2017, 21:28:42) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
>>> import tensorflow as tf
>>> hello = tf.constant('Hello tensorflow')
>>> sess = tf.Session()
>>> print(sess.run(hello))
b'Hello tensorflow'
>>> exit()
とりあえず、TensorFlow on Windows (GPU) のインストールと、最初の動作確認は完了しました
作業の全ログはこちらに置いています…
- Install_log_on_Windows_for_TensorFlow_GPU.log - Gist/h-sao
https://gist.github.com/h-sao/b7ab04b3ba3fe8a9e41ec8af76da7559
おつかれさまでした~
その他ポイント1:Anacondaではpipを使う
Anacondaでインストールする場合は、pipを使う(pip3 は無いみたい)
|
|
その他ポイント2:Pythonのバージョンは3.5
Tensorflowは Python3.5系じゃないとだめ
3.6に入れようとしたら、怒られました
試しに、CPU版にしても怒られました
|
|
どうやら、pythonのバージョンは Windowsの場合3.5系でないと対応してないみたいです(2017/4/10現在)
(その他参考)
同じOpKernelエラー現象が出てる海外のも居た…
Installation log of Tensorflow 1.0 on Windows using pip
https://gist.github.com/apacha/a595c244f90a27aced56f67f7598d90d
[Anaconda] Anaconda for Windowsインストール方法
ちょっとPCのグラフィックボードを新しくしたので、TensorFlowでなんかモデルでも作ってみるかということで、Pythonを使うためにAnacondaをインストールしました
初回のインストールでは何も問題が起きなかったのですが、Anacondaのバージョンを上げようとして、なんか色々やってるうちに、エラーにはまったので、その解決メモです
(ただし、あまり良い解決方法じゃありません、ごめんなさい)
Anacondaのインストール
わたしの環境は以下です
- Windows10 x64
- NVIDIA GeForce GTX 960
- Anaconda 4.3.1 For Windows
このAnacondaはPython 3.6 に対応しています
Anaconda 4.3系は Pythonの 2.7, 3.4, 3.5, 3.6 をサポートしている様です
- ANACONDA CHANGELOG - 2017-01-31 4.3.0 Highlightsより
https://docs.continuum.io/anaconda/changelog
実は、わたしは何度もAncondaのインストールとアンインストールを繰り返しました
すると、再インストール時にはエラーメッセージ
Failed to create anaconda menus
がインストール時に出るようになってしまいました
インストールする権限の問題の様です
おかしいなぁ…
Administrator権限で起動してるのですが、出てしまいます…(´-`).。oO
これは、
- 再インストールするディレクトリを変える
- Just me インストール
- Administrator権限で起動
この3点をすれば、怒られずにインストールできたのですが…
わたしのインストールしたいディレクトリは c:\utils\Anaconda3 なのです!
インストールしたいディレクトリを変更するって…ちょっとヤダなぁと思い
ダメもとで
- PCのインストール時に作った Administrator 権限のユーザでログイン
- All Users インストール
- 更にAdministrator権限で起動
にしてみたら、うまく同じインストールディレクトリに
再インストールすることが出来ました
あまり良い解決方法じゃないけど…もう権限周りで困りたくないです><。
あなこんだ for Windows 。。。難しいよ(´ω`)
インストーラーとWindowsの権限周りは、少し問題が残っている印象でした
TensorFlow用の開発環境を切る
今の状態でダイレクトに作業しても良いんですけど
他のプロジェクトや要件が出たときに困らないために、TensorFlow用の開発環境を切っておきます
(1)conda info -e コマンドで確認します
インストール直後の環境は root 環境しかありません
(C:\utils\Anaconda3) C:\Users\(インストールユーザ名)>conda info -e
# conda environments:
#
root * C:\utils\Anaconda3
(2)conda create でAnacondaのTensorflow用環境を作ります
引数:
- name: tensorflow (任意です)
- python: 3.5 (ここ重要!)
2017/3/29現在、公式では TensorFlowはPython 3.5系しかサポートしてないらしいです
- Installing TensorFlow on Windows - TensorFlow公式
https://www.tensorflow.org/install/install_windows
公式の言う通り、3.5を指定することにします
|
|
(3)tensorflow という環境が出来ました
さっきの condaコマンドで確認します
(C:\utils\Anaconda3) C:\Users\(インストールユーザ名)>conda info -e
# conda environments:
#
tensorflow C:\utils\Anaconda3\envs\tensorflow
root * C:\utils\Anaconda3
(4)作った tensorflow環境に切り替えます
activateコマンドを使います
ちなみに抜けたい時は、deactivateです(が、わたしはあまり使う機会がないかな…)
|
|
前に、作った環境の名前 (tensorflow) が付くので、判りやすいですね!
(余談)起動ディレクトリを変更する
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)
わたしの場合、ここスタートアップの場所に Anaconda Prompt が入ってました
Anaconda Prompt のプロパティを開いて、開始するディレクトリを変更すればOKです
わたしは起動ディレクトリを、D:\dev\anaconda に変えました
ふー
たったこんだけなんですけどねぇ…(´-`).。oO
まごまごしてるわたし…
気を取り直して、次回は、TensorFlow on Windowsのインストール準備をします
<その他参考>
Anaconda 4.3.1 For Windows (公式)
https://www.continuum.io/downloads[Python]Anacondaで仮想環境を作る
http://qiita.com/supersaiakujin/items/50def6f33b79f9a61b18
[Chrome] Google Chromeのマルチプロファイル設定
Google Chrome を使って、Webサイトの開発をしている人向けの情報です
自分のChromeのユーザプロファイラを使わずに、開発は別のプロファイラを使いたいってこと、ありますよね…?
[プランA] ユーザプロファイラを切り替える
Google Chrome のユーザデータを、開発用と自分個人用とに分けたい
開発用のモバイルモードで見てるときに、普通にPCブラウジングがしたい
とかいうときのために(か、どうか分かりませんが…)
Google chrome は複数ユーザに対応しています
chrome://settings/ にアクセス
もしくは、メニューの「設定」を押す「ユーザ」の設定項目があるので、追加します
アイコンと名前を選択して「追加」します
(わたしの場合は適当に Development と付けました)
ユーザ名が右上に表示されるようになり、新しい「Development」ユーザでブラウザが立ち上がります
Extension や閲覧履歴は、完全に今まで使っていたものとは別になっているので
新規プロファイルが使い放題です(*ノωノ)
これまで使っていたユーザは「ユーザ-1」
開発用のユーザは「Development」
で、使い分けることが可能になりました
[おまけ] 起動時に Development ユーザを指定して起動する方法
ちなみに、デフォルト起動はもちろん、これまで使っていた「ユーザー1」で立ち上がります
ショートカットなどで、さっき作ったDevelopmentユーザがいきなり立ち上がって欲しいときは
以下のように「profile-directory」起動オプションを設定してあげると
任意のユーザプロファイルで立ち上がります
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 2"
※Chromeのショートカット設定にしておくと便利です
わたしの環境では、”Peofile 2”という名前でしたが、これは作った環境によって異なっているはずです
Chromeユーザプロファイルのデフォルトの位置はこちら↓↓↓
“C:\Users[Winユーザ名]\AppData\Local\Google\Chrome\User Data\Profile x”
ちなみに、これまで使っていた自分の環境である「ユーザー1」は「Default」というディレクトリ名です
“C:\Users[Winユーザ名]\AppData\Local\Google\Chrome\User Data\Default”
さて、プランAのプロファイル切り替えでも、まぁ用途は足りるんですけど
1点だけ、気に入らないところがありました…
確かに、完全にプロファイルは別になるのですが
起動時の画面サイズは、プロファイル間で共有されてしまうのです
これを解消したい…!
それが次に示すプランBのパターンです
[プランB] 稼働環境を別物にする
つまりプランAのままだと、
自分でブラウジングしてる「ユーザー1」の画面サイズと
「Development」ユーザの画面サイズを、
個別に保存することは出来ない
のです…
あぁ残念 xxx
でも大丈夫(*ノωノ)
方法がありました
プロファイルの保存場所そのものを、別のディレクトリにすればOKでした
指定するオプションは「user-data-dir」です
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="C:\utils\chrome_dev_profile"
※同じく、Chromeのショートカット設定の図、先ほどのプランAの profile-directory オプションは不要
このオプションで指定するディレクトリは、どこでもいいみたいですが
出来ればデフォルトで利用している
C:\Users[Winユーザ名]\AppData\Local\Google\Chrome\User Data
の配下は、避けた方がいいかもしれません
(わたしの環境では、スタートページがちょっと変になりました。深追いして調べてないです…)
プランA/Bのどちらでも、マルチプロファイラでブラウジングできるのですが
より独立した設定をしたい!という人には、プランBが私的にはお勧めです
Chrome は起動オプションがいっぱいあって、他にも
Userエージェントを指定出来たり(user-agent)、
ブラウザの言語を指定したり(lang=en-USで英語になる)と
いろんな機能が用意されてるので
開発用途としてはなかなかいい感じだなと、今更ながら思いました(*´∇`)ノ
<参考>
ちなみに、Google Chrome の起動オプションは
公式ではちょっと探しにくかったんですけど(わたしの探し方が悪いかも…)
こちらの人のサイトが、簡潔で一覧性が高く、参考になりました(^▽^)/
- List of Chromium Command Line Switches - Peter Beverloo(英語)
http://peter.sh/experiments/chromium-command-line-switches/
以下、日本語の参考サイト
完全Google Chrome マルチユーザマニュアル 永久保存版 - This is Shinobu’s Memorandum
http://saske18jp.blogspot.jp/2012/05/google-chrome.htmlGoogle Chrome を別設定で複数起動させる方法 - digitalbox
http://digitalbox.jp/google-chrome-multiple-invoking/
[Diary] 2017年もよろしくお願いします
遥佐保(はるか・さお)です
2017年最初のブログになります!
今年もよろしくお願いします(^_^)
MSMVP 2017年1月度受賞
なんと、Microsoft Most Valuable Professional の再受賞を Windows Development のカテゴリで頂きました
信じられないことに、8回目の受賞となります
去年はいろんなジャンルの技術を取り扱った勉強会を開催し
何のかんのと楽しく過ごさせていただきました
それもこれも、関わってくださる全ての方とのつながり、出会いあってこそだと、いつも思っております
講演を快諾してくださる講師さま、
オンラインという場所と時間が限られてしまう勉強会に参加してくださるみなさま、
コミュニティ活動を支援してくださる上司、
そして何より、一緒に勉強会を盛り上げてくれるスタッフのみなさま、
本当に本当に、いつもわたくしの思い付きの様な企画に
お付き合いくださいまして、ありがとうございます
- 年末にやった meetup app tokyo@2 の様子
めっちゃ勉強になったし、緊張した
また、有志のコミュニティを支援するプログラムを
企業として変わらず提供し続けて下さるマイクロソフト社にも
変わらず感謝しております
自ブログに記載するには大変恐縮ではありますが、僭越ながらお礼申し上げます
本当にありがとうございます
- Microsoft Global Summit 2017に招待された時のレジストレーション会場になった Hotel Hyatt(^^)
居心地最高でした
昨年度の活動
去年は、ひそかに1月のマイクロソフト社主催のインターナルイベントにて、ちょっとだけセッション持たせていただいたのを皮切りに、小規模な講演をちょこちょこと、
大きなところでは、C++、UI、Unity、Deep Learning を特集した勉強会を開催するなど、
思うままに知的好奇心を満たせた感じになりました
仕事では良いことも悪いことも、思い返せないくらい、いろんな出来事がありまして…
いやー1年、ほんとに、色々イベントがありすぎました((+_+))
こんなに環境がころころ変わる体験も、なかなか珍しいと思いますが、何とか順応して(?)社会人生活を満喫しています
仕事の番外編ですが
盛岡の専門学校で講演させて頂いた晩に、
現地の方々に連れて行ってもらった「サブカルバーAE」ってところ
ここ、最高です(´艸`*)
また、盛岡に出張行きたいな…
ソーシャルゲーム三昧
今年は…もうこれしかやってません
毎日欠かすことなく、1日最低2時間やってます( ;∀;)
最長時間は。。ここに書けないくらい長時間やってます、もう計測不能(^▽^;)
いやほんとに…
この時間を勉強に当てたら、すごい成果になるんだろうな…
- 神獄のヴァルハラゲート
http://grani.jp/product/valhalla-gate/
これ何って、いわゆるソーシャルゲーム全盛期の後半あたりに出た
フィーチャーフォン対応のカードゲームです
リンク張りましたが、まぁ昔のゲームなので…わたしは好きなのでやってますが(^^♪
- 「神獄のヴァルハラゲート」
無料でも遊べるけど、強くなるにはある程度のカードガチャによる課金が必要
年始はお正月用のガチャ券を大盤振る舞いしてくれたり、
ミッションクリア型のイベント、ランキングイベントなど
毎週何かのイベントをまめにやってくれる
この間の年末には、ギルド同士の連合機能が入ったりしました
わたしがやり始めてもうすぐ2年経ちます、特に去年1年間は、
課金もしまくり
隙間時間はすべてレベル上げに費やし
毎日開催する1日2回の聖戦は皆勤賞
という素晴らしい廃人ぶりを披露してしまいました
おかげさまで、夜の9時には必ず帰宅し、聖戦の合間に晩御飯の準備をするという
徹底したルーティンが成り立ちました(^▽^;)
ちなみにそれまでは、この時間帯には
カフェなどで、ノマドしながら技術調査したりブログ書いてたんですけどね
MMO的なゲームは、これまでやったことが無かったんです…
なので、勉強のつもりでやってみたのがきっかけですが、
まさか自分の生活がゲーム中心になるとは(^▽^;)
※ギルド内の掲示板で使えるスタンプもある
ただ、やり始めで分かったのは、
半年やそこらでは、MMO的なやつは理解できんな、ということでした
こう、なんといいますか、、、人と人との関わり、薄いつながり、
こういったものを如何に維持するか?ゲーム内のモチベーションを保つか?みたいな
(ゲーム運営ではない)ギルド運営の世界があるのが、よくわかりました
1年ちょっと前から、ギルドオーナーやってるんですけど、これは大変です( ;∀;)
現実世界の会社のチーム運営と、変わんないんですよ…
手法や出来ることが異なっているだけで、根本は一緒なんだなーと思いました
※ギルド内の過去の戦歴は誰でも閲覧できる
しょぼい戦歴しか残ってない=オーナーや執行役の責任(統率が取れていない)
ということもあり、ゲーム内における役職者の責任は重大
実は昨年、ある案件でゲームプランナーさんの面接に関わらせて頂いたのですが
企画経験あります、自分もMMOやってます、ソーシャルゲームやってます、と
面接でいう人のバックボーンが判断出来るようになったと言いますか
「その人がどれくらい知ってて、経験してるか」
が自分なりに判断出来るようになりました
みんな面接では良いこと言いますもんね…
すっごいコアユーザにとったら、わたしはまだまだゲーマーとしてはイージーな方かもしれませんが
ほんとにゲームを色々やってて、やりこんでる人の気持ちについて
(わたしが)会話して理解できるレベルにちょっとなれた気がします
※ま、これはあくまで副産物なんですけど…
実際は、ゲーム沼に絶賛ハマり中(´ー`)
ゲームの卒業は、ギルドの卒業を意味し、
今まで毎日、雨の日も風の日も、盆も正月も、会ったこともないけど苦楽を共にしてきた(!?)仲間と別れる訳なので
自分の仲間もログインしなくなって、システム的にも終了するまでは、わたしは続けてそうです
この調子だと…(^▽^;)
今年は?
こんな感じで、去年はソーシャルゲーム三昧でしたが
今年は今、流行ってるらしい「MOBA」ジャンルのゲームをやってみたいなーと思っています
※ MOBA:マルチプレイヤーオンラインバトル
RPG、戦略ゲーム、アクションが混じったようなオンラインバトルゲーム
ちょうど、Epic Games から 「PARAGON」も出てるし(今はまだ日本はベータ版)
- PARAGON (公式Blogから画像拝借…)
あ、これやるために、PCのグラボ、良いやつにしないと(*ノωノ)
ギルドの多対多カードバトルは、日本で大人気なんですけど、
海外では 相変わらずモバイルではシングル同志のP2Pゲーム が流行ってるみたい
PCやPS4などでは MOBA のギルド戦が流行ってるらしいです
というわけで次のターゲットは海外向け!
おっと、大事な技術系についてですが…
会社の自分の環境がちょっと落ち着いてないので、仕事の方向はそれに左右されちゃうかな~
個人的には、引き続き、
自分の得意なゲームグラフィック(パーティクルやエフェクト関係)の充実
新規では
Deep Learning へのチャレンジですかね
画像の Deep Learning って結構もうおなか一杯で、先人たちがやりつくした感あるんですけど
ログとの組み合わせなどは、まだ成功してなさそうなんですよね
わたしはまだまだDeep Learningの素人なんで、どこまで食い込めるか分かりませんけど、幸い、身の回りの環境という意味で、社内には知見とデータリソースがあるので、チャレンジしがいもあるかなーって感じです
最後に2016年の年越しそば、おいしかった~(^ω^)
ではでは、2017年も、どうぞ、よろしくお願いします!
[Outlook] 使わなくなったOutlook on the webの予定表(カレンダー)を削除する方法
Office365とかの Outlook カレンダーではなく
Webベースでアクセスできる Outlook on the web について
データの削除がとてもややこしかったので、ちょっとメモしておきたいと思います
かつての Windows Liveカレンダー
昔は、Windows Liveカレンダーという名称で、カレンダーサービスがあったのですが
最近になり、Outlook on the web というサービス名に変わった様です
https://calendar.live.com/calendar/calendar.aspx
それに伴い、ちょっとずつ使い勝手も変わってきたりして…
わたし自身が
Googleにもカレンダーがあり、サイボウズにもあり…カレンダーだらけだったので
ちょっと過去データを整理しようと思ったのが、このブログのきっかけです
以降、「予定表」とあるのは、カレンダーの事を指しています
マイクロソフトさんの用語で統一して書きたいと思います
問題点が2つ起きた
- Outlook on the web のメインの予定表が消せない
- Windows10 カレンダーアプリの情報が同期されない(消せない)
今日はこれを解決したいと思います…
<問題1>不要な予定表を削除したいが、メインは消せない
実際に、オフィシャルサイトには、予定表の削除の方法は書いていないのです…
- Outlook on the web で予定表を使用する
https://support.office.com/ja-jp/article/Outlook-on-the-web-で予定表を使用する-8cfd8a5e-de9a-4468-9225-8611c8c8c7b0
しかし、Outlook on the web の方で、予定表を削除することは出来るようです
該当する予定表の上で、右クリックしたら、”削除” が出てきます
↓↓↓
しかし、メインの予定表は消せないみたいです
(削除が出てこない)
↓↓↓
とにかく情報を整理したいだけなのに…(+o+)
<問題2>Windows10 カレンダーアプリの情報は削除されない
メイン以外の予定表は消せるので、Outlook on the web上で操作するんですけど
クライアントアプリである、Windows10 付随のカレンダーには、一向に反映されません
あれ、消したはずの予定表がいつまで経っても消えない…
↓↓↓
<解決方法>Web上では無理、Outlookクライアントを使う
Outlook on the web だけでは無理なのが良く判ったので
Outlookのクライアントメールソフト を使ってみました
Officeで使えるPC上にインストールするあれです
まず、メニュー > ファイル > 情報 に行きます
「アカウント情報」の下の「アカウントの追加」で、問題となっているマイクロソフトアカウント (旧Windows Live カレンダーアカウント)を追加します
問題となっている登録したアカウントを選んだ状態で、 Outlookアプリの左下に表示されている(と思う)「…」を選ぶと、「フォルダー」という項目が選択できるので、 それを選びます
なんと!?削除済みアイテムの中に、さっき消した予定表が入っていました!
さくっと「フォルダーを空にする」を選びましょう
(その画像は取り忘れちゃいましたが…操作する箇所はこれです)
これで、Windows10のカレンダーアプリの情報も更新され、削除した予定表は消えました…!やったー!
※ただし、即時反映ってん訳じゃなさそうでした、しばらく時間がかかるっぽいです
これで <問題2>のほうは解決しました
あとは、<問題1>のメイン予定表が消せない件ですね…
メイン予定表は削除できない、なら、せめて予定表に入っている項目を全削除してやる!というのが、以下の試みです
引き続き、Outlookクライアントを使います
アカウントの「予定表」を選択した状態で
ビューの変更 > 一覧 を選択します
これまで登録している予定の一覧が表示されます
どれか選択した状態で、「Ctrl + A」で予定を全選択します
あとは「Delete」を押して、全選択すれば、
内容をとにかく消すことには成功します
(予定表そのものは消せない様ですが)
消す前に、一応以下の様な注意が出るので、思い切って「はい」をぽちっとな!
…過去に登録した項目は、メインの予定表からすべて消えました(●´ω`●)
いったんは、これで良しとしますかね…(´-`).。oO
<後片付け>Outlookクライアントからアカウントを削除
Outlook on the webの予定表を消すためだけに
Outlookクライアントにアカウントを登録したので、これを削除する画面キャプチャもついでに載せておきます
再び、メニュー > ファイル > 情報 に行き、「アカウントの設定」を選びます
先ほど登録した Outlook on the web 用のアカウントを選択し、「削除」を押します
これで後片付けも完了です
今回紹介した方法が、良いやり方かどうかは判りませんが
似たような事で困っている人の助けになればと思います~(^^♪
(参考サイト)
- 【暫定解決策】Outlook.comのWebアプリで削除した予定表がアプリに残った時はPCのOutlookで「削除済みアイテム」を確認
http://blog.bari-ikutsu.com/entry/20151213_9138.html