腳本文件取名keras報錯
keras已經被pip安裝好了,但是仍然無法繼續使用,嘗試添加函數, 重新安裝keras都沒能成功,最後看到一篇文章上寫的是腳本命名問題,經過嘗試後,解決好了這個問題。具體報錯記錄如下:
No module named 'keras.datasets'; 'keras' is not a package
解決辦法:
(1).修改項目腳本中的命名,腳本不能叫keras,否則報錯。
(2).重新下載keras的包
pip install keras tensorflow==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --default-timeout=100
使用過程找不到對應包模塊
使用pip list 發現對應模塊和安裝包都在,但是無法調用該模塊,思考過是該包缺少什麼函數或是缺少什麼依賴,後在網上找到說是包的版本過高,兼容性問題導致,因此將該包進行了升級,解決了該包模塊無法找到的問題。
AttributeError: module 'tensorflow' has no attribute 'get_default_graph'
解決辦法:
將包卸載,找keras和tensorflow匹配版本的包,這裏我是將keras的包進行了升級解決
tensorflow-gpu安裝
之前使用過CPU的tensorflow,這次的目的是使用GPU版本的,並要對tensorflow的可視化進行一個新的展示,完成自己之前在tensorflow的BP和卷積神經網絡的驗證。
tensorflow的gpu版本安裝,我先卸載了cpu的tensorflow,理由是網上說如果不刪除,python程序將默認使用cpu的tensorflow進行,在安裝過程中嘗試了30分鐘,最終安裝的解決方法如下:
使用安裝命令爲:
pip install tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple/ --default-timeout=100
D:\Python\python_data2_project>pip install tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple/ --default-timeout=100
tensorflow和keras的案例運行
下面代碼是摘自網絡,成功運行如下:
import numpy as np
import os
import tensorflow
from keras.models import Sequential
from keras.layers import Dense
# 隨機生成一組數據
data = np.random.random((1000,100))
# 隨機生成標籤
labels = np.random.randint(2,size=(1000,1))
model = Sequential()
# 添加一層神經網絡
model.add(Dense(32,
activation='relu',
input_dim=100))
# 添加激活函數(activate function)
model.add(Dense(1, activation='sigmoid'))
# 構建模型,定義優化器及損失函數
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuracy'])
# 模型與數據一鍵fit
model.fit(data,labels,epochs=10,batch_size=32)
predictions = model.predict(data)
通過上面的損失函數的最終結果,可以看出模型的效果並不是很好。
Tensorflow的GPU設置運行
電腦顯卡類型不支持,暫時未進行驗證,後續持續驗證
https://blog.csdn.net/A632189007/article/details/77978058
繪製損失函數
hist=model.fit(data,labels,epochs=10,batch_size=32)
plt.plot(hist.history['accuracy'],label="accuracy")
plt.plot(hist.history['loss'],label="loss")
plt.legend(loc=0, ncol=1) # 參數:loc設置顯示的位置,0是自適應;ncol設置顯示的列數
plt.show()