溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

keras的backend如何設(shè)置tensorflow,theano操作方法

發(fā)布時(shí)間:2020-07-01 11:12:18 來(lái)源:億速云 閱讀:508 作者:清晨 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下keras的backend如何設(shè)置tensorflow,theano操作方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!

win7 系統(tǒng)環(huán)境安裝步驟:

1.首先是安裝Python,建議安裝anaconda

2.安裝完anaconda后打開(kāi)anaconda promp命令行promp,輸入conda list.

可以看到已經(jīng)安裝的庫(kù)以及版本等信息,注意此時(shí)沒(méi)有keras.

3.通過(guò) conda install keras 或 pip install keras 直接安裝。(會(huì)默認(rèn)的給你安裝keras最新版本和所需要的theano)

4.安裝完成之后,就可以打開(kāi)notebook,輸入import keras 檢查是否成功。

5.因?yàn)閣indows版本的tensorflow剛剛才推出,所以目前支持性不太好。

但是keras的backend 同時(shí)支持tensorflow和theano.

并且默認(rèn)是tensorflow,因此在win本上需要更改backend為theano才能運(yùn)行。

這是官網(wǎng)的配置文檔:點(diǎn)擊打開(kāi)鏈接

如果已經(jīng)運(yùn)行過(guò)一次Keras,你將在下面的目錄下找到Keras的配置文件:~/.keras/keras.json

如果該目錄下沒(méi)有該文件,你可以手動(dòng)創(chuàng)建一個(gè)

將文件的默認(rèn)配置如下:

C:\Users\Administrator>python
Python 2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jun 29 2016, 11:07:13) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import keras
Using TensorFlow backend.
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "C:\Anaconda2\lib\site-packages\keras\__init__.py", line 2, in <module>
 from . import backend
 File "C:\Anaconda2\lib\site-packages\keras\backend\__init__.py", line 68, in <module>
 from .tensorflow_backend import *
 File "C:\Anaconda2\lib\site-packages\keras\backend\tensorflow_backend.py", line 1, in <module>
 import tensorflow as tf
ImportError: No module named tensorflow
>>> import keras
Using Theano backend.
WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to execute optimized C-implementations (for both CPU and GPU) and will default to Python implementations. Performance will be severely degraded. To remove this warning, set Theano flags cxx to an empty string.

方法一:將C:\Anaconda2\Lib\site-packages\keras\backend\__init__.py的line 27修改

# Default backend: TensorFlow.
#_BACKEND = 'tensorflow'
_BACKEND = 'theano'

然后,python-> import keras

方法二: 出現(xiàn) tensorflow提示錯(cuò)誤的話,需要修改下面的位置的內(nèi)容

C:\Users\Administrator\.keras\keras.json
{
"image_dim_ordering":"tf",
"epsilon":1e-07,
"floatx":"float32",
"backend":"tensorflow"
}

{
 "image_dim_ordering": "tf", 
 "epsilon": 1e-07, 
 "floatx": "float32", 
 "backend": "theano"
}

補(bǔ)充知識(shí):keras修改backend.py,完成永久配置tensorflow-gpu調(diào)用方式

編寫(xiě)keras程序中出現(xiàn)了GPU的內(nèi)存問(wèn)題,需要調(diào)節(jié)keras預(yù)設(shè)的tensorflow設(shè)置參數(shù),每次都必須單獨(dú)設(shè)置gpu選項(xiàng)比較麻煩,可以設(shè)置keras下的tensorflow_backend.py實(shí)現(xiàn)永久配置keras。

本人的配置:ubuntu18.04+cuda10.0+cuda7.5.1+MX150+tensorflow-gpu1.13.1

初始設(shè)置中出現(xiàn)內(nèi)存錯(cuò)誤。

keras依賴的config文件位置

keras的配置文件在linux下在如下的地址中,在用戶賬戶下的隱藏文件夾中.

// 一般的安裝位置

~/.local/lib/python2.7/site-packages/keras/backend

使用文件編輯器(vim,vi,nano等)打開(kāi)tensorflow_backend.py文件

// 一般在文件的180行左右,修改為如下
...
else:
    if _SESSION is None:
      if not os.environ.get('OMP_NUM_THREADS'):
        config = tf.ConfigProto(allow_soft_placement=True)
        config.gpu_options.allow_growth=True
        config.gpu_options.per_process_gpu_memory_fraction=0.9
      else:
        num_thread = int(os.environ.get('OMP_NUM_THREADS'))
        config = tf.ConfigProto(intra_op_parallelism_threads=num_thread,
                    allow_soft_placement=True)
        config.gpu_options.allow_growth=True
        config.gpu_options.per_process_gpu_memory_fraction=0.9
      _SESSION = tf.Session(config=config)
    session = _SESSION
  ...

看完了這篇文章,相信你對(duì)keras的backend如何設(shè)置tensorflow,theano操作方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI