最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

tensorflow 2.1.0 安裝與實戰(zhàn)教程(CASIA FACE v5)

 更新時間:2020年06月30日 10:21:28   作者:博二兔  
這篇文章主要介紹了tensorflow 2.1.0 安裝與實戰(zhàn)(CASIA FACE v5),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1.0tensorflow的安裝

1.1安裝python

python下載 需要python3.x<=3.7
https://www.python.org/ftp/python/3.7.7/python-3.7.7-amd64.exe

python安裝

安裝時勾選Add Python 3.7 to PATH,把python添加到環(huán)境變量。

1.2安裝tensorflow

打開命令行,執(zhí)行

pip install tensorflow==2.1.0

pip install tensorflow==2.1.0
pip install tensorflow 2

pip 會安裝tensorflow和一些其他的依賴

1.3安裝vc++2015-2019redist…

tensorflow的另一個依賴(很多tensorflow安裝失敗的原因就是這個沒安裝)
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

1.4安裝CUDA和CUDNN

cuda: https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
cudnn: https://developer.nvidia.com/rdp/cudnn-download(需要注冊nvidia賬號)
cudnn下載后是個壓縮文件,要把他解壓出來放在CUDA里,如下圖

cudnn
dll缺失

高版本CUDA缺失cudart64_101.dll,下載后放在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin里
https://cn.dll-files.com/cudart64_101.dll.html

2.0CASIA實戰(zhàn)

2.1CASIA數(shù)據(jù)集

casia

可以從網上下載casia數(shù)據(jù)集,
這里以casia數(shù)據(jù)集為例,現(xiàn)實中可以使用自己需要的數(shù)據(jù)集。

2.2數(shù)據(jù)集的處理

建立data和test兩個文件夾,把casia復制到里面
目錄是這樣的./data/000/000_0.bmp
data.py處理數(shù)據(jù),其實就是遍歷,匹配,刪除

import os 
data = './data'
dirs = os.listdir(data) 
for dir in dirs:
 for file in os.listdir(data + '/' + dir):
  if file.endswith("4.bmp"):
   os.remove(data + '/' + dir + '/' + file)
test = './test'
tdirs = os.listdir(test)
for dir in tdirs:
 for file in os.listdir(test + '/' + dir):
  if file.endswith("0.bmp"):
   os.remove(test + '/' + dir + '/' + file)
  if file.endswith("1.bmp"):
   os.remove(test + '/' + dir + '/' + file)
  if file.endswith("2.bmp"):
   os.remove(test + '/' + dir + '/' + file)
  if file.endswith("3.bmp"):
   os.remove(test + '/' + dir + '/' + file)

2.3訓練代碼

casia.py

import os
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Conv2D, Flatten, Dropout, MaxPooling2D
from tensorflow.keras.preprocessing.image import ImageDataGenerator
import numpy as np
/*我直接建立了個0000,1111,...這樣的數(shù)組作為標簽*/
#data標簽
arr = []
for i in range(100):
 for j in range(4):
  arr.append(i)
arr = np.array(arr)
#test標簽
tarr = []
for i in range(100):
 tarr.append(i)
tarr = np.array(tarr)

#訓練集
pwd='./data'
dirs = os.listdir(pwd)
imgs = []

for dir in dirs:
 for file in os.listdir(pwd + '/' + dir):
  image = tf.io.read_file(pwd + '/' + dir + '/' + file)
  img = tf.image.decode_bmp(image,channels=3)
  imgs.append(img)
print("[*]訓練集加載完畢")
print(imgs[0].shape)
#驗證集(測試集)
tpwd='./test'
tdirs = os.listdir(tpwd)
timgs = []
for tdir in tdirs:
 for tfile in os.listdir(tpwd + '/' + tdir):
  timage = tf.io.read_file(tpwd + '/' + tdir + '/' + tfile)
  timg = tf.image.decode_bmp(timage,channels=3)
  timgs.append(timg)
print("[*]驗證集加載完畢")
print(timgs[0].shape)
#神經網絡模型
model = Sequential([
 Conv2D(16, (3,3), padding='same', activation='relu',input_shape=(480,640,3)),
 MaxPooling2D(),
 Conv2D(64, (3,3), padding='same', activation='relu'),
 MaxPooling2D(),
 Conv2D(128, (3,3), padding='same', activation='relu'),
 MaxPooling2D(),
 Flatten(),
 Dense(128, activation='relu'),
 Dense(100, activation='softmax'),
])
model.summary()//打印神經網絡模型
#優(yōu)化器
model.compile(optimizer=tf.keras.optimizers.Adam(),
    loss='sparse_categorical_crossentropy',
    metrics=['accuracy'])
#訓練
ds = tf.data.Dataset.from_tensor_slices((imgs,arr))
ds = ds.batch(16)
ds = ds.prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
model.fit(ds,epochs=20)
tds = tf.data.Dataset.from_tensor_slices((timgs,tarr))
tds = ds.prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
model.evaluate(tds, verbose=2)
#保存
tf.saved_model.save(model, "./tmp/")

2.4訓練與驗證

在命令行運行 python casia.py進行訓練
predict.py

import os
import tensorflow as tf
import numpy as np
/*這里顯卡內存不夠了*/
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
/*顯卡內存*/

model_path = './tmp' //加載模型
test_path = "./test/002/002_4.bmp"http://這里就是個栗子
model = tf.keras.models.load_model(model_path, custom_objects=None, compile=True)

image = tf.io.read_file(test_path)
img = tf.image.decode_bmp(image,channels=3)
img = img[tf.newaxis, ...]
res = model.predict(
 img, batch_size=None, verbose=0, steps=None, callbacks=None, max_queue_size=10,
 workers=1, use_multiprocessing=False
)
pred = tf.argmax(res, axis=1)
print (pred[0])
print (res[0,pred[0]])

總結

到此這篇關于tensorflow 2.1.0 安裝與實戰(zhàn)(CASIA FACE v5)的文章就介紹到這了,更多相關tensorflow 2.1.0 安裝內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

高密市| 广饶县| 林周县| 武陟县| 文化| 邵阳市| 靖远县| 翁源县| 眉山市| 华阴市| 应用必备| 威远县| 康定县| 宁南县| 云龙县| 汉阴县| 沙湾县| 会东县| 云和县| 肥乡县| 蕉岭县| 遂宁市| 肥西县| 皮山县| 民县| 康平县| 称多县| 全南县| 乡宁县| 象州县| 秀山| 玉林市| 长白| 瑞丽市| 元江| 连城县| 五华县| 景泰县| 临猗县| 石台县| 滨州市|