安裝tensorflow
我使用的是最最最簡單的容易的 pip3 install
《TensorFlow學習筆記》 一、 安裝win10下python3.6的tensorflow的CPU版本安裝
讀取PTB數據集發現問題
之前一直用的好好的,最近研究RNN 和LSTM 需要用到PTB數據集,這個數據集在介紹的用法裏可以直接調用tensorflow的包進行read 出 訓練集,測試集,驗證集 PTB 可以直接百度下載
PTB目錄爲
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-EqD6S3E5-1570588720426)(https://img-blog.csdn.net/20180224123138311?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzM0MzEzNjg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)]
需要的數據集在data下分別爲ptb.test.txt ptb.train.txt ptb.valid.txt
代碼如下
from tensorflow.models.rnn.ptb import reader
DATAPATH = './simple-example/data'
train_data, valid_data, test_data, _ = reader.ptb_raw_data(DATAPATH)
問題
發現pip3方式下安裝的tensorflow沒有models庫
上網上查了一下得知
目前tf1.0版本的也就是比較新的版本都將models庫剔除,當做第三方庫來使用了
解決方案:
- 直接重新下載安裝 tf的低的版本
- 手動安裝models庫
安裝models庫
-
我首先嚐試 直接下載github上的models
直接放到tf文件夾下,後來發現tf根本找不到這個包,本人不才(因爲平時用包全都是直接pip3 install的方式所以沒太在意這些東西),主要原因不知爲何,我猜是因爲此刻這個的models相當於第三方庫,這裏直接複製到文件夾下沒有編譯,所以根本沒用 -
查了下這個models庫的用法可以通過git命令進行clone到tensorflow文件下
① 安裝git 這個百度多的是就不多說了
② 手動找到python36下的文件tensorflow文件夾
進行鼠標右鍵 點擊 選擇 Git Bash here
(這個過程也可以先在任何一個地方Git Bash here 之後利用cd 到tf文件夾裏也一樣)
③
在命令框裏輸入
git clone --recurse-submodules https://github.com/tensorflow/models
安裝編譯完畢
這回你會發現tf文件夾下已經有models文件夾了
導入程序試試看
from tensorflow.models.tutorials.rnn.ptb import reader#存在models了也可以導入了
隨便寫個整體程序
from tensorflow.models.tutorials.rnn.ptb import reader
DATAPATH = './simple-examples/data'
train_data, valid_data, test_data, _ = reader.ptb_raw_data(DATAPATH)
print(len(train_data))
print(train_data[:100])
萬萬沒想到又出現一個問題
說找不到reader 這個
後來發現問題出在ptb的__init__.py文件下
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cx5Rp5Qd-1570588720432)(https://img-blog.csdn.net/20180224125308789?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzM0MzEzNjg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)]
發現這個import 是錯的沒法import 進去reader
我又查看了一下其他的第三方庫的這個初始文件發現 需要這麼操作就解決了
其實問題就是出在這個導入其他的py文件的時候 導入出錯了。
from tensorflow.models.tutorials.rnn.ptb import reader
from tensorflow.models.tutorials.rnn.ptb import util
經過以上的這麼折騰可算全部KO,這回再走一遍那個讀取PTB數據的程序
from tensorflow.models.tutorials.rnn.ptb import reader
DATAPATH = './simple-examples/data'
train_data, valid_data, test_data, _ = reader.ptb_raw_data(DATAPATH)
print(len(train_data))
print(train_data[:100])
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-LnwUmih0-1570588720434)(https://img-blog.csdn.net/20180224125612961?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzM0MzEzNjg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)]
完美運行
PS: 如果覺得本篇本章對您有所幫助,歡迎關注、評論、點贊!