Interface2017-12号第三章メカニズム実験 それらしい写真を自動生成する人工知能

10,000ステップの学習に戻し再度実行 1日と1時間で終了 食べ物ではないなにかかな 動画にもしてみる ffmpegにかけるためファイル名を連番にリネームする #code:rename.py import glob import os fl = glob.glob("*.jpg") count = 0 for f in sorted(fl): s …

Interface2017-12号第三章メカニズム実験 それらしい写真を自動生成する人工知能

必要なファイル dcgan.py setup.sh test.py train.py util.py 学習をかけると100ステップで約15分かかっているので10,000ステップは 22時間かかってしまうので1000ステップに縮小 結果 食べ物とはわからないレベルになった。 今度時間があるときに再実行し…

Interface2017-12号第2章メカニズム実験 勝手に成長する人工知能を読む

必要なファイル agent.py environment.py play.py qfunction.py replay_memory.py train.py を用意 $python tarin.py で実行させたがreplay_memory.pyでメモリーエラー MemTotal: 6.0 GB MemFree: 3,3 GB replay_memory.pyで要求されたメモリーは約2.8Gなの…

Interface2017-12号第2章メカニズム実験 勝手に成長する人工知能を読む

ステップ1 実行環境を準備する pip install gym pip install gym[atari] gym[atari]でエラーがでた。 xorg-devをinstallするとエラーが収まった。 掲載されていたソースを実行させたところ すぐ終了するのでrange(1000)を10000000まであげた。

Interface2017-12号第1章メカニズム実験 対話する人工知能を読む

仮想環境からtensorflow1.4.0を削除 pip uninstall tensorflow 改めてtensolflow1.0.1をインストール (GPUなし python version=3.5.*) pip install --ignore-installed --upgrade https:storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp35-…

Interface2017-12号第1章メカニズム実験 対話する人工知能を読む

ステップ3 Neural Conversational Modelの構築 tensorflowはver 0.9.0をいれていたが最新版にアップグレードする 仮想環境に入ってpip instal -U tensorflowでver1.4.0になった。 GitHubよりseq2seq_model.py,train.py,util.pyをdownloadする $python train…

ローカル名前解決構築

宅内のサーバにアクセスするときIPアドレスを直接入力していた(数が少ないので暗記していた) まったく困ってはいなかったが「ホスト名だけでサーバーにアクセスできる」という記事が あったので ラズパイに名前解決ソフトを導入してみることにした。 Avahi…

Interface2017-12号第1章メカニズム実験 対話する人工知能を読む

STEP 2 日本語解析の処理(つづき) TensorFlowのinstall condaの仮想環境を使ってinstallする 仮想環境管理のコマンド ◆仮想環境を作る conda create -n(または--name) py27(これが仮想環境の名前) python=3.5(pythonのバージョンを指定可能) パッケージが全…

pipでinstall したパッケージとcondaでinstallしたパッケージしたものの差

str_pip = !pip list pip_list = [] for s in str_pip[3:]: pip_list.append(s.split(' ')[0].strip()) pip_set = set(pip_list) str_conda = !conda list conda_list = [] for s in str_conda[2:]: conda_list.append(s.split(' ')[0].strip()) conda_set =…

Interface2017-12号第1章メカニズム実験 対話する人工知能を読む

ステップ1会話データ・セット構築 Jupyter notebookで構築していく フォルダ構造 . ├── data │ ├── conversation_data.txt │ └── urllist.txt └── 対話する人工知能.ipynb urllist.txt http://www.aozora.gr.jp/cards/000148/files/773_14560.html http://w…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

12.2静的ファイルの配信 フォルダ構成 viz/ data/ nobel_winners.json index.html script.js #index.html <meta charset="utf-8"> <style> body{font-family: sans-serif;} </style> <h2 id='data-title'></h2> <div id='data'> <pre></pre> </div> <script src="http://d3js.org/d3.v3.min.js"></script> </meta>

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

12.1 データ配信 #nobel_viz.py from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello world!" if __name__ == "__main__": app.run(port=8000,debug=True) nobel_viz.pyがあるフォルダで $ python nobel_viz.py と実…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

11.5 受賞者の年齢と没年齢 df['award_age'].hist(bins=20) <matplotlib.axes._subplots.AxesSubplot at 0x7f1459757978> [f:id:bitop:20171009090400p:plain] sns.distplot(df['award_age']) <matplotlib.axes._subplots.AxesSubplot at 0x7f1458f80fd0> 箱ひげ図 sns.boxplot(df.gender,df.award_age) plt.show() sns.violinplot(df.gen…</matplotlib.axes._subplots.axessubplot></matplotlib.axes._subplots.axessubplot>

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

11.1 探索の開始 import pandas as pd import numpy as np import matplotlib.pyplot as plt import json import seaborn as sb %matplotlib inline plt.rcParams['figure.figsize'] = 8,4 #Mongoデータベースがうまく動かないのでjsonファイルをDataFrameに…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

10.2 対話型セッションの開始 p224ページのipython [notebook | qt]とあるが ipython qtではエラーがでる。 多分ipython qtconsoleまたはjupyter qtconsole %matplotlib inline import pandas as pd import numpy as np import matplotlib.pyplot as plt imp…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

9.4 データのクリーニング df.born_in.describe() count 1052 unique 40 top freq 910 Name: born_in, dtype: object 9.4.1 混合した型の検出 #applyはseriesのメソッドでseriesの要素にtype関数を適用させている set(df.born_in.apply(type)) {str} 9.4.2 …

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

9.3 インデックスとpandasのデータ選択 #列のカラム名 print(df.columns) #列数 print(len(df.columns)) Index(['born_in', 'category', 'country', 'date_of_birth', 'date_of_death', 'gender', 'link', 'name', 'place_of_birth', 'place_of_death', 'tex…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

import pandas as pd import numpy as np np.random.seed(0) 9.2データの調査 def reload_data(name='nobel_winners_dirty.json'): df = pd.read_json(open('data/' + name)) return df df = reload_data() df.info() <class 'pandas.core.frame.DataFrame'> Int64Index: 1052 entries, 0 to 1051 </class>…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

8.7 パネル df1 = pd.DataFrame({'foo':[1,2,3],'bar':['a','b','c']}) df2 = pd.DataFrame({'baz':[7,8,9,11],'qux':['p','q','r','t']}) print(df1);print(df2) bar foo 0 a 1 1 b 2 2 c 3 baz qux 0 7 p 1 8 q 2 9 r 3 11 t pn = pd.Panel({'item1':df1,'…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

8.6 SeriesからDataFrameを作成する s = pd.Series([1,2,3,4]) print(s) 0 1 1 2 2 3 3 4 dtype: int64 s = pd.Series([1,2,3,4],index=['a','b','c','d']) print(s) a 1 b 2 c 3 d 4 dtype: int64 s = pd.Series({'a':1,'b':2,'c':3,'d':4}) print(s) a 1 b…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

8.5 DataFrameの作成と保存 df = pd.DataFrame({ 'name':['Albert Einstein','Narie Curie','William Faulkner'], 'category':['Physics','Chemistry','Literature'] }) print(df.head()) category name 0 Physics Albert Einstein 1 Chemistry Narie Curie …

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

jupyter notebookから直接MarkDownファイルに変換してここに貼り付ける方式に変更した 8.4DataFrame import pandas as pd PATH = "/home/beetle/myproject/DataVisualization/nobel_winners/dataviz-with-python-and-js/Ch06_Heavyweight_Scraping_with_Scra…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

配列関数の作成 移動平均の計算¶ def moving_average(a,n=3): ret = np.cumsum(a,dtype=float) ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:]/ n a = np.arange(10) print(a) print(moving_average(a,4)) 結果 [0 1 2 3 4 5 6 7 8 9] [ 1.5 2.5 3.5 4.5 …

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

7.1.2配列のインデックス指定とスライス a = np.array([1,2,3,4,5,6]) print(a[2]) print(a[3:5]) b = a[:4:2] = 0 print(b) a = np.array([1,2,3,4,5,6]) print(a[::-1]) 結果 3 [4 5] 0 [6 5 4 3 2 1] a[:4:2]の結果だけ違う? ちなみに0の代入をやめると …

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

6.8パイプラインを使ったテキストと画像のスクレイピング #nwinners_minbio_spider.py import scrapy import re BASE_URL = 'http://en.wikipedia.org' class NWinnerItemBio(scrapy.Item): link = scrapy.Field() name = scrapy.Field() #このnameフィール…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

6.7 Scrapyパイプライン P157の最初のコードに# nobel_winners/nobel_winners/setting.pyとあるがpipelines.pyの間違いかな? #pipelines.py import scrapy from scrapy.exceptions import DropItem class DropNonPersons(object): def process_item(self, i…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

いままでWindows上で行っていたがUnicodeErrが頻発するのでlubuntu上に変更する #nwinners_full_spider.py import scrapy import re BASE_URL = 'http://en.wikipedia.org' class NWinnerItem(scrapy.Item): name = scrapy.Field() link = scrapy.Field() ye…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

6.6.1 ページのキャシュ setting.pyのHTTPCACHE_ENABLED=True行をコメントアウト 6.6.2リクエストの作成 import scrapy import re BASE_URL = 'http://en.wikipedia.org' class NWinnerItem(scrapy.Item): name = scrapy.Field() link = scrapy.Field() year…

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

6.5人物情報ページのスクレイピング 人物情報ページでWikiDataへのリンクをさがした。 そのアドレスに移動してみると www.wikidata.org WikiDataの画面に遷移した

「PythonとJavaScriptではじめるデータビジュアライゼーション」を読む

6.4 最初のScrapyスパイダー #nminners_list_spider.py import scrapy import re class NWinnerItem(scrapy.Item): country = scrapy.Field() name = scrapy.Field() link_text = scrapy.Field() class NWinnerSpider(scrapy.Spider): name = 'nwinners_list…