Python使用keras和tensorflow遇到的問題及解決
腳本文件取名keras報(bào)錯(cuò)
keras已經(jīng)被pip安裝好了,但是仍然無法繼續(xù)使用,嘗試添加函數(shù), 重新安裝keras都沒能成功,最后看到一篇文章上寫的是腳本命名問題,經(jīng)過嘗試后,解決好了這個(gè)問題。
具體報(bào)錯(cuò)記錄如下:
No module named 'keras.datasets'; 'keras' is not a package
解決辦法:
(1).修改項(xiàng)目腳本中的命名,腳本不能叫keras,否則報(bào)錯(cuò)。
(2).重新下載keras的包
pip install keras tensorflow==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --default-timeout=100
使用過程找不到對(duì)應(yīng)包模塊
使用pip list 發(fā)現(xiàn)對(duì)應(yīng)模塊和安裝包都在,但是無法調(diào)用該模塊
思考過是該包缺少什么函數(shù)或是缺少什么依賴
后在網(wǎng)上找到說是包的版本過高
兼容性問題導(dǎo)致,因此將該包進(jìn)行了升級(jí)
解決了該包模塊無法找到的問題
AttributeError: module 'tensorflow' has no attribute 'get_default_graph'
解決辦法:
將包卸載,找keras和tensorflow匹配版本的包,這里我是將keras的包進(jìn)行了升級(jí)解決
tensorflow-gpu安裝
之前使用過CPU的tensorflow,這次的目的是使用GPU版本的,并要對(duì)tensorflow的可視化進(jìn)行一個(gè)新的展示,完成自己之前在tensorflow的BP和卷積神經(jīng)網(wǎng)絡(luò)的驗(yàn)證。
tensorflow的gpu版本安裝,我先卸載了cpu的tensorflow,理由是網(wǎng)上說如果不刪除,python程序?qū)⒛J(rèn)使用cpu的tensorflow進(jìn)行,在安裝過程中嘗試了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的案例運(yùn)行
下面代碼是摘自網(wǎng)絡(luò),成功運(yùn)行如下:
import numpy as np import os import tensorflow from keras.models import Sequential from keras.layers import Dense # 隨機(jī)生成一組數(shù)據(jù) data = np.random.random((1000,100)) # 隨機(jī)生成標(biāo)簽 labels = np.random.randint(2,size=(1000,1)) model = Sequential() # 添加一層神經(jīng)網(wǎng)絡(luò) model.add(Dense(32, activation='relu', input_dim=100)) # 添加激活函數(shù)(activate function) model.add(Dense(1, activation='sigmoid')) # 構(gòu)建模型,定義優(yōu)化器及損失函數(shù) model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy']) # 模型與數(shù)據(jù)一鍵fit model.fit(data,labels,epochs=10,batch_size=32) predictions = model.predict(data)
通過上面的損失函數(shù)的最終結(jié)果,可以看出模型的效果并不是很好。
Tensorflow的GPU設(shè)置運(yùn)行
電腦顯卡類型不支持,暫時(shí)未進(jìn)行驗(yàn)證,后續(xù)持續(xù)驗(yàn)證
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設(shè)置顯示的位置,0是自適應(yīng);ncol設(shè)置顯示的列數(shù) plt.show()
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 如何做一個(gè)識(shí)別率百分百的OCR
最近在做游戲自動(dòng)化(測(cè)試),也就是游戲腳本了。主要有以下幾個(gè)需求識(shí)別率百分百、速度要快、模型要小,本文就來著手實(shí)現(xiàn)它2021-05-05python學(xué)習(xí)-List移除某個(gè)值remove和統(tǒng)計(jì)值次數(shù)count
這篇文章主要介紹了?python學(xué)習(xí)-List移除某個(gè)值remove和統(tǒng)計(jì)值次數(shù)count,文章基于python的相關(guān)內(nèi)容展開詳細(xì)介紹,需要的小伙伴可以參考一下2022-04-04Python實(shí)現(xiàn)自動(dòng)為照片添加日期并分類的方法
這篇文章主要介紹了Python實(shí)現(xiàn)自動(dòng)為照片添加日期并分類的方法,涉及Python針對(duì)文件與目錄的遍歷、判斷、修改、復(fù)制及文件屬性的相關(guān)操作技巧,需要的朋友可以參考下2017-09-09Python實(shí)現(xiàn)語音轉(zhuǎn)文本的兩種方法
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)語音轉(zhuǎn)文本的兩種方法,Python提供了許多工具和庫來進(jìn)行這些任務(wù),本文通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Python時(shí)間差中seconds和total_seconds的區(qū)別詳解
今天小編就為大家分享一篇Python時(shí)間差中seconds和total_seconds的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12精選39道Python數(shù)據(jù)分析面試題提早備戰(zhàn)金三銀四
這篇文章主要為大家介紹了39道Python數(shù)據(jù)分析的面試題問答攻略幫助大家提早備戰(zhàn)金三銀四,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多精進(jìn),早日度過寒冬2023-12-12