カテゴリー別アーカイブ: python

tensorflowのインストール(python)

インストール手順は以下のページを参考
https://www.tensorflow.org/install/install_mac#common_installation_problems

1. virtualenvによる環境構築
google公式ページによるとvirtualenvでの構築が進められている
$mkdir ~/tensorflow
$virtualenv –system-site-packages ~/tensorflow
$source ~/tensorflow/bin/activate
(tensorflow)$
(tensorflow)$deactivate

アンインストールは
$rm -rf ~/tensorflow

バイナリのurlを指定してもできる
(tensorflow)$pip install –upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.3.0-py2-none-any.whl
インストールまでできたが、実行するとエラーとなった。
何となくprotobufというのが影響しているらしいが、詳しく分からない

2. bash for windows
スタートの右クリック->設定->アプリと機能->機能の有効化で、それっぽいのを有効にして再起動
sudo pip –proxy=http://xxx.xxx.xxx.xxx:xxxx install –upgrade pip
・bash_profileで設定していても、ここでプロキシ設定をする必要がある
・sudoを忘れないこと!!
sudo pip –proxy=http://xxx.xxx.xxx.xxx:xxxx install tesorflow

[結論]

どんな環境であれ、virtualboxとかでUbuntuを入れてインストールするのが確実

チュートリアル

import tensorflow as tf
node1=tf.constant(3.0,dtype=tf.float32)
node2=tf.constant(4.0)

print(node1,node2)

sess=tf.Session() #ここでsessionを作る。

print(sess.run([node1,node2])) #これで[3.0,4.0]と表示される


node3=tf.add(node1,node2)
print(node3) #まだメタ情報が表示されるだけ
print(sess.run(node3)) #これで7.0が表示される

a=tf.placeholder(tf.float32) #aという変数ができるみたいな感じ
b=tf.placeholder(tf.float32)
adder_node=a+b #a+bを行う関数ができた感じ
print(sess.run(adder_node,{a:3,b:4.5})) #足し算がなされて7.5が表示される
print(sess.run(adder_node,{a:[1,3],b:[2,4]})) #ベクトルでも計算可能

add_and_triple=adder_node*3 #関数を用いた関数みたいな感じ
print(sess.run(add_and_triple,{a:3,b:4.5})) #22.5

W=tf.Variable([.3],dtype=tf.float32) #Variableは初期値を設定できる
b=tf.Variable([-.3],dtype=tf.float32)
x=tf.placeholder(tf.float32)
linear_model=W*x+b
print(sess.run(linear_model,{x:[1,2,3,4,]})) #そのまま実行するとエラーになる

#global variableの初期化
init=tf.global_variables_initializer() 
sess.run(init)

print(sess.run(linear_model,{x:[1,2,3,4,]})) #[0,0.3,0,6,0,9]のように計算される

[python]SMTPによるメール送信のサンプルコード

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate

FROM_ADDR = "xxx@xxx.xxx.xxx.xxx"
TO_ADDR = "xxx@xxx.xxx.xxx.xxx"
ENCODING = "iso-2022-jp"

message = MIMEText(u"1行目\n2行目\n3行目".encode(ENCODING),"plain",ENCODING,)

message["Subject"] = str(Header(u"Subject",ENCODING))
message["From"] = "%s <%s>" %(str(Header(u"Hiroshi",ENCODING)),FROM_ADDR)
message["To"] = "%s <%s>" %(str(Header(u"To",ENCODING)),TO_ADDR)
message["Date"] = formatdate()

s = smtplib.SMTP("xxx.xxx.xxx.xxx", 587)
s.ehlo()
s.starttls()
s.login("h-ito@nb-npi.co.jp", "Hito5857")

s.sendmail(FROM_ADDR,[TO_ADDR],message.as_string(),)

s.close()

print "Success send mail"