Python使用keras和tensorflow遇到的問題及解決
腳本文件取名keras報錯
keras已經被pip安裝好了,但是仍然無法繼續(xù)使用,嘗試添加函數(shù), 重新安裝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 發(fā)現(xiàn)對應模塊和安裝包都在,但是無法調用該模塊
思考過是該包缺少什么函數(shù)或是缺少什么依賴
后在網上找到說是包的版本過高
兼容性問題導致,因此將該包進行了升級
解決了該包模塊無法找到的問題
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 # 隨機生成一組數(shù)據 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)) # 添加激活函數(shù)(activate function) model.add(Dense(1, activation='sigmoid')) # 構建模型,定義優(yōu)化器及損失函數(shù) model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy']) # 模型與數(shù)據一鍵fit model.fit(data,labels,epochs=10,batch_size=32) predictions = model.predict(data)
通過上面的損失函數(shù)的最終結果,可以看出模型的效果并不是很好。
Tensorflow的GPU設置運行
電腦顯卡類型不支持,暫時未進行驗證,后續(xù)持續(xù)驗證
http://www.dbjr.com.cn/python/318776btb.htm
繪制損失函數(shù)
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) # 參數(shù):loc設置顯示的位置,0是自適應;ncol設置顯示的列數(shù) plt.show()
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python學習-List移除某個值remove和統(tǒng)計值次數(shù)count
這篇文章主要介紹了?python學習-List移除某個值remove和統(tǒng)計值次數(shù)count,文章基于python的相關內容展開詳細介紹,需要的小伙伴可以參考一下2022-04-04Python時間差中seconds和total_seconds的區(qū)別詳解
今天小編就為大家分享一篇Python時間差中seconds和total_seconds的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12精選39道Python數(shù)據分析面試題提早備戰(zhàn)金三銀四
這篇文章主要為大家介紹了39道Python數(shù)據分析的面試題問答攻略幫助大家提早備戰(zhàn)金三銀四,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多精進,早日度過寒冬2023-12-12