【TensorFlow學習筆記】完美解決 pip3 install tensorflow 沒有models庫,讀取PTB數據

安裝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庫剔除,當做第三方庫來使用了
解決方案:

  1. 直接重新下載安裝 tf的低的版本
  2. 手動安裝models庫

安裝models庫

  1. 我首先嚐試 直接下載github上的models
    直接放到tf文件夾下,後來發現tf根本找不到這個包,本人不才(因爲平時用包全都是直接pip3 install的方式所以沒太在意這些東西),主要原因不知爲何,我猜是因爲此刻這個的models相當於第三方庫,這裏直接複製到文件夾下沒有編譯,所以根本沒用

  2. 查了下這個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: 如果覺得本篇本章對您有所幫助,歡迎關注、評論、點贊!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章