2017年01月16日

yelp api v3をphpで使う実装




https://github.com/Yelp/yelp-api
書いてある通りこれはv2用のコードです。

v2では CONSUMER_KEY CONSUMER_SECRET TOKEN TOKEN_SECRETの四つが必要ですが
v3では認証は ACCESS_TOKEN だけです。

こうします
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.yelp.com/v3/businesses/search?location=$location&term=$term",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"authorization: Bearer $access_token"
),
));
$response = curl_exec($curl);


これはlocation,termでの検索ですが、
緯度経度だけでも検索できます。
CURLOPT_URL => "https://api.yelp.com/v3/businesses/search?radius=1000&latitude=35&longitude=140"





これはsearchで、各物件の詳細は businesses の方で得ます。
CURLOPT_URL => "https://api.yelp.com/v3/businesses/". $id

このidですが、
searchで得るidは、多分そのまま与えても、
{"error": {"description": "The requested business was not found", "code": "BUSINESS_NOT_FOUND"}}
という事になるのではないかと思います。

idの文字列は多分数値文字参照で、
requestされる文字列は多分パーセントエンコーディングなのではないかと思います。

URLの/biz/ 以降がidそのものなので、それを与えれば良いと思います。





2017年01月14日

多段階GANの実装

StackGAN を実装する方法ですが、ソースコードが既に公開されてます。

https://github.com/hanzhanggit/StackGAN

git clone https://github.com/hanzhanggit/StackGAN.git

として、

python misc/preprocess_birds.py


ImportError: No module named misc.utils

これは、StackGANにパスが必要です。
export PYTHONPATH=StackGAN:$PYTHONPATH



File "pandas/parser.pyx", line 353, in pandas.parser.TextReader.__cinit__ (pandas/parser.c:3246)
File "pandas/parser.pyx", line 591, in pandas.parser.TextReader._setup_parser_source (pandas/parser.c:6111)
IOError: File Data/birds/CUB_200_2011/bounding_boxes.txt does not exist


データファイルは二つ必要です。
https://drive.google.com/open?id=0B3y_msrWZaXLT1BZdVdycDY5TEE
wget http://www.vision.caltech.edu/visipedia-data/CUB-200-2011/CUB_200_2011.tgz


解凍して Data/birds/ に配置します。



上手く行けば、こうなると思います。
Total filenames: 11788 001.Black_footed_Albatross/Black_Footed_Albatross_0046_18.jpg
Load filenames from: Data/birds/train/filenames.pickle (8855)
Load 100......
Load 200......

Load 8800......
images 8855 (304, 304, 3) (76, 76, 3)
save to: Data/birds/train/304images.pickle
save to: Data/birds/train/76images.pickle
Load filenames from: Data/birds/test/filenames.pickle (2933)
Load 100......

Load 2900......
images 2933 (304, 304, 3) (76, 76, 3)
save to: Data/birds/test/304images.pickle
save to: Data/birds/test/76images.pickle
続きを読む

2017年01月07日

多段階GANの詳細

これなんですが、
よく読むと、どうも、想像する内容とは違うのではないかと思われるのですが...?

StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks
Han Zhang, Dimitris Metaxas Rutgers University
Tao Xu, Xiaolei Huang Lehigh University
Hongsheng Li, Xiaogang Wang The Chinese University of Hong Kong
Shaoting Zhang University of North Carolina at Charlotte



まず、これは自然言語からの画像生成であるという事です。

text embeddingは普通は潜在変数に変換されるが、しかし、テキストに条件付けられた空間は非常に高次元である。
学習に使えるデータは空間に対して非常に少ないため、潜在空間に非連続性が生じる。
それは、generatorの学習には望ましくないので、変数調整(Conditioning Augmentation)を導入する。


入力値は
ガウス分布(正規分布) N(μ(φt),Σ(φt))  からランダムサンプリングで作り出す。
text embedding φt
μ(φt) 平均値
Σ(φt) 対角共分散行列

これによって、少数の画像:テキスト対からでも多数の訓練データが得られ、潜在空間を広くカバー出来るようになる。




stackgan

Figure 2.

Stage-I GAN:
text embeddingから被写体の基本形状と基本色を作り出し、ランダムベクトルから背景を作成し、低解像度画像を生成する

Stage-II GAN:Stage-Iの欠陥を修正し
text embeddingをもう一度読んでオブジェクトの詳細を完成させ、高解像度画像を生成する。


Stage-Iでは入力zはランダム性があるが、
Stage-IIでは、それはStage-Iの出力となり、ランダムな値ではなくなる。
Stage-I,IIどちらも、同じテキストエンコーダから作られるtext embeddingを入力するため、Stage-Iでは反映されなかったテキスト情報もStage-IIでは効果を発揮することを期待する?

続きを読む

adsense
Categories
サイト内検索
にほんブログ村 科学ブログへ
にほんブログ村

amazon
Profile
Archives
blogchart
QRコード
QRコード
Recent Comments
o