このブログを検索

2015年11月15日日曜日

[TensoFlow] チュートリアル

TensorFlowのチュートリアルを実施中です.
今のところこちらにしたがっていればいい感じなのですが,2点補足です.
私の環境では,

python fully_connected_feed.py

実行時に

 File "fully_connected_feed.py", line 23, in <module>
    from tensorflow.g3doc.tutorials.mnist import input_data
ImportError: No module named g3doc.tutorials.mnist

のエラーが発生しました.本件は23行目のimportがうまく行っていない様子なので,
こちらを参考に以下の修正を行うと改善しました.

#from tensorflow.g3doc.tutorials.mnist import input_data
#from tensorflow.g3doc.tutorials.mnist import mnist
import input_data
import mnist

しかし続いて,

TypeError: range() takes at least 2 arguments (1 given)

のエラーが発生しまして,こちらを参考にしたところ,mnist.pyのバージョンの違いによるものだそうで,旧バージョンのmnist.pyと入れ替えることで改善できました.

とりあえずここまででスムーズに行かなかった点でした.

[PC] HP ENVY700-270jpへのVMWare

Googleさんが機械学習ライブラリTensorFlowをオープンソースで公開ということで,一度動かしてみようと思いました.
生粋のWindowsユーザである私はまずUbuntuを導入するところから始めるわけでして,VMWareで仮想化してWindows7上にUbuntu14.04をインストールすることにしました.
VMWareのインストールは容易に済んだのですが,仮想端末を起動すると以下の様なエラーが.



この仮想マシンは,64ビットゲストOS向けに構成されています.ただし,64ビット操作は使用できません.
このホストはIntel VT-xに対応していますが,Intel VT-xは無効になっています.
Intel VT-xがBIOS/ファームウェア設定で無効となっている,またはこの設定を変更してから電源を入れなおしていない場合,Intel VT-xが向こうとなる場合があります.
(1)BIOS/ファームウェア設定でIntel VT-xが有効になっていることを確認し,「信頼される実行」を向こうにしてください.
(2)これらのBIOS/ファームウェア設定のいずれかを変更したら,ホストの電源を入れなおしてください.
(3)VMWarePlayerをインストールしてからホストの電源を入れなおしていない場合はホストの電源を入れなおしてください.
(4)ホストのBIOS/ファームウェアを最新バージョンに更新してください.


調べてみるとこちらのブログにて同じ課題に取り組んでおられたので参考にしました.
本環境はHP ENVY700-270jpなのですが,BIOSは起動画面でEscもしくはF10連打で起動できます.
ヒューレット・パッカードセットアップユーティリティが起動できるので,仮想化設定を有効にします.
するとVMWare上でエラーがでなくなるので無事仮想端末の動作が可能になりました.

TensorFlowに関しては,やってみてまとめる余裕があればまとめます.

2015年4月20日月曜日

[Android][Openshift]AndroidからOpenshiftサーバへのファイル転送

Android側からPOST通信にてOpenshiftサーバへファイルを送る方法です.
サーバ側はOpenshiftでなくてもなんでもいいですが,PHPで受け取ると仮定します.

★サーバ側(test.php)




これ自体はどこかのサイト様を真似させていただきました.
※無断転載等ご指摘頂いた際は削除いたしますのでご連絡ください.

★Android側
まず,どこかからhttpmime-4.2.1.jarをDLしてきます.
※現在最新版の4.4.1では謎のエラーが発生したので4.2.1を推奨します.

DLしたファイルをlib配下に配置するか,ビルドパスを通します.

ファイルを送りたい場所で以下を記述します.




これでOK.Android側からはMultipartEntityを使ってファイルなどをPOSTすることが出来ます.
ファイルを送る場合は,FileBodyを,文字列を送る場合はStringBodyをつかいます.
なお,これらの動作は遅延等を考慮しバックグラウンド動作させるのがベターなようです.
その辺はAsyncTaskでググりましょう.

また,本ソースコード内には適用しておりますが,以下の点でつまずいたので追記します.

★ $_FILES[ 'picture' ][ 'name' ]が文字化けする
送信側で文字コード指定をしているにもかかわらず,ファイル名が???に文字化けしました.
色々なパターンを試したがダメで,結果ファイル名だけ別途POSTすることで回避しました.
StringBodyは文字化けしない様子です.

2015年2月17日火曜日

[Excel][小ネタ]セルの書式が更新されない件

Excelにて書式が更新されない現象があったので備忘録として記載します.

【発生現象】
・Excelの一部のセルが数値なのに文字列扱いになっている.
・そのせいで並べ替えをしても,1,10,2,3,4,5...となって数値順にならない.
・セルの書式→数値に変更するものの,一旦セルをダブルクリックまたはF2キーを押してアクティブにしないと更新がかからない.


【対応方法】
今回は数値データのみ困っていたので以下の方法で強引に対応しました.
特にA2~A100を一気に数値にしたい場合です.
1.B2セルに以下を記述する.A2のところは必要なセル番号を記述する.
   =value(A2)
2.コピーしてB3~B100にペーストする.
3.B2~B100をコピーする.
4.A2~A100のセルの書式を数値に変更する.
4.A2~A100に対して,値のみをペーストする.


ちょっと強引ですが以上です.
セルの書式ではなく,数式が計算出来ない現象もあった気がしますが,対策を忘れてしまったのでまた思い出したら記載します.