Cucco’s Compute Hack

コンピュータ関係の記事を書いていきます。

ujsonのインストールができない

解決方法

f:id:Cucco:20190316082136p:plain
インストーラ画面

留意事項

試行錯誤中に、Visul Studio 2015のbulid toolsも入れた(それだけではエラーは変わらず)。上記解決方法で解決しない場合はインストールする。
https://www.microsoft.com/ja-JP/download/details.aspx?id=48159

エラー内容

pip install ujsonの時のエラーの内容は以下。

(base) C:\WINDOWS\system32>pip install ujson
Collecting ujson
  Using cached https://files.pythonhosted.org/packages/16/c4/79f3409bc710559015464e5f49b9879430d8f87498ecdc335899732e5377/ujson-1.35.tar.gz
Building wheels for collected packages: ujson
  Building wheel for ujson (setup.py) ... error
  Complete output from command C:\ProgramData\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\<username>\\AppData\\Local\\Temp\\pip-install-hvxfwwjm\\ujson\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\dial8\AppData\Local\Temp\pip-wheel-7j8d0yrz --python-tag cp37:
  Warning: 'classifiers' should be a list, got type 'filter'
  running bdist_wheel
  running build
  running build_ext
  building 'ujson' extension
  error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/

  ----------------------------------------
  Failed building wheel for ujson
  Running setup.py clean for ujson
Failed to build ujson
Installing collected packages: ujson
  Running setup.py install for ujson ... error
    Complete output from command C:\ProgramData\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\<username>\\AppData\\Local\\Temp\\pip-install-hvxfwwjm\\ujson\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\dial8\AppData\Local\Temp\pip-record-48ijrvtr\install-record.txt --single-version-externally-managed --compile:
    Warning: 'classifiers' should be a list, got type 'filter'
    running install
    running build
    running build_ext
    building 'ujson' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/

    ----------------------------------------
Command "C:\ProgramData\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\<username>\\AppData\\Local\\Temp\\pip-install-hvxfwwjm\\ujson\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\dial8\AppData\Local\Temp\pip-record-48ijrvtr\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\dial8\AppData\Local\Temp\pip-install-hvxfwwjm\ujson\

(base) C:\WINDOWS\system32>

iPhoneのボイスメモをmp3にする

  1. icloud driveにボイスメモを保存する。
  2. PCでicloud driveにアクセスして、ファイルをPCに持ってくる。
  3. iTunesで開く
  4. ファイルを選択した状態で、ファイルメニューから変換→MP3バージョン

ファイルはC:\Users\<ユーザー名>\Music\iTunes\iTunes Media\Music\Unknown Artist\Unknown Album みたいなところにできる。

なぜかボイスメモの一部が、iTunesのライブラリに表示されないので、緊急回避的な手段です。

matplotlibの日本語対応

plotに日本語を含めていると化けるので、日本語フォントを使えるようにする。

事前準備
  1. IPAexフォント/IPAフォント | IPAフォントのダウンロードサイトです から、フォントファイルをダウンロードする。
  2. C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf に、フォントファイル(ipaexg.ttf)を保存する。
  3. 次のコードを実行する。フォントのリビルド(※)
import matplotlib.font_manager as fm
fm._rebuild()
実際に日本語をプロットするとき
  1. 日本語をプロットしたい.pyファイルの中で、以下の1文をれておく
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "IPAexGothic"
続きを読む

sklearnでクラスタリング(その2)

プロットするプログラムhello_scatterもつけてみた。
f:id:Cucco:20190303163512p:plain

import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

def hello_kmeans_demo():
    X = np.array([[1, 2], [1, 4], [1, 0],[10, 2], [10, 4], [10, 0]])
    """
    array([[ 1,  2],
       [ 1,  4],
       [ 1,  0],
       [10,  2],
       [10,  4],
       [10,  0]])
    X.shapeは、(6,2)
    """
    kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
 #クラスタリングの結果のラベルが手に入る
    Y=np.array(kmeans.labels_)

    #print("cluster_centers_",kmeans.cluster_centers_)
    #print("inertia_",kmeans.inertia_)
    #print("kmeans.n_iter_",kmeans.n_iter_)

 #プロット関数呼び出し
    hello_scatter(X,Y)

def hello_scatter(np_data,np_target=None,dim_x=0,dim_y=1):
    """
    指定された次元で、scatterプロットする。
    targetのラベルが0ならば赤、1ならば緑、2ならば青、それ以外は黒でプロット。
    """
    color_list=["black"]*np_data.shape[0]#shapeで(行,列)が返ってくるので行数分のリストを作成。
    for i in np.where(np_target==0)[0]:
        color_list[i]="red"
    for i in np.where(np_target==1)[0]:
        color_list[i]="green"
    for i in np.where(np_target==2)[0]:
        color_list[i]="blue"

    #arrayは、[行,列]で指定
    plt.scatter(x=np_data[:,dim_x], y=np_data[:,dim_y], c=color_list, marker=".")
    plt.grid(True)
    plt.show()

if __name__ == "__main__":
    hello_kmeans_demo()

sklearnでクラスタリング(その1)

データ形式がこうなっていれば、直接KMeansに渡せる。2次元データ6件分。

array([[ 1,  2],
       [ 1,  4],
       [ 1,  0],
       [10,  2],
       [10,  4],
       [10,  0]])

以降、確認に使ったコード

>>> import numpy as np
>>> from sklearn.cluster import KMeans
>>> X = np.array([[1, 2], [1, 4], [1, 0],[10, 2], [10, 4], [10, 0]])
>>>
>>> X
array([[ 1,  2],
       [ 1,  4],
       [ 1,  0],
       [10,  2],
       [10,  4],
       [10,  0]])
>>> kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
>>> kmeans.labels_
array([1, 1, 1, 0, 0, 0])
>>> kmeans.predict([[0, 0], [12, 3]])
array([1, 0])

anacondaでTensorFlow環境の準備 その3

gpu環境向けにやったことのメモ。

conda install -c anaconda cudnn
conda install -c anaconda cudatoolkit
pip install tensorflow-gpu

確認方法。TureならOK.

import tensorflow
print(tensorflow.test.is_built_with_cuda())

anacondaでTensorFlow環境の準備 その2

VS Codeを使っているので、デバッグとかのための手続き。
Pythonのパスを書き換えればよいらしい。フォルダごととか、ワークスペースごととか設定がありそう。

"python.pythonPath": "C:\\Users\\Cucco\\AppData\\Local\\Continuum\\anaconda3\\envs\\tensorflow_gpuenv\\pythonw.exe"


VS Codeの左下の実行環境が選べるようになっているので、勝手に環境見つけている??
設定書き換えたから?

参考

VS Code で Anaconda の Python デバッグ 環境構築(Visual Studio Code) - BEACHSIDE BLOG

Windows10環境にAnaconda+Visual Studio CodePython環境を構築【2017年9月】