婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 解決tensorflow 與keras 混用之坑

解決tensorflow 與keras 混用之坑

熱門標簽:外呼系統哪些好辦 如何申請400電話費用 沈陽人工外呼系統價格 武漢外呼系統平臺 池州外呼調研線路 沈陽防封電銷卡品牌 富錦商家地圖標注 江西省地圖標注 沈陽外呼系統呼叫系統

在使用tensorflow與keras混用是model.save 是正常的但是在load_model的時候報錯了在這里mark 一下

其中錯誤為:TypeError: tuple indices must be integers, not list

再一一番百度后無結果,上谷歌后找到了類似的問題。但是是一對鳥文不知道什么東西(翻譯后發現是俄文)。后來谷歌翻譯了一下找到了解決方法。故將原始問題文章貼上來警示一下

原訓練代碼

from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Conv2D, MaxPooling2D, BatchNormalization
from tensorflow.python.keras.layers import Activation, Dropout, Flatten, Dense
 
#Каталог с данными для обучения
train_dir = 'train'
# Каталог с данными для проверки
val_dir = 'val'
# Каталог с данными для тестирования
test_dir = 'val'
 
# Размеры изображения
img_width, img_height = 800, 800
# Размерность тензора на основе изображения для входных данных в нейронную сеть
# backend Tensorflow, channels_last
input_shape = (img_width, img_height, 3)
# Количество эпох
epochs = 1
# Размер мини-выборки
batch_size = 4
# Количество изображений для обучения
nb_train_samples = 300
# Количество изображений для проверки
nb_validation_samples = 25
# Количество изображений для тестирования
nb_test_samples = 25
 
model = Sequential()
 
model.add(Conv2D(32, (7, 7), padding="same", input_shape=input_shape))
model.add(BatchNormalization())
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(10, 10)))
 
model.add(Conv2D(64, (5, 5), padding="same"))
model.add(BatchNormalization())
model.add(Activation('tanh'))
model.add(MaxPooling2D(pool_size=(10, 10)))
 
model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))
 
model.compile(loss='categorical_crossentropy',
              optimizer="Nadam",
              metrics=['accuracy'])
print(model.summary())
datagen = ImageDataGenerator(rescale=1. / 255)
 
train_generator = datagen.flow_from_directory(
    train_dir,
    target_size=(img_width, img_height),
    batch_size=batch_size,
    class_mode='categorical')
 
val_generator = datagen.flow_from_directory(
    val_dir,
    target_size=(img_width, img_height),
    batch_size=batch_size,
    class_mode='categorical')
 
test_generator = datagen.flow_from_directory(
    test_dir,
    target_size=(img_width, img_height),
    batch_size=batch_size,
    class_mode='categorical')
 
model.fit_generator(
    train_generator,
    steps_per_epoch=nb_train_samples // batch_size,
    epochs=epochs,
    validation_data=val_generator,
    validation_steps=nb_validation_samples // batch_size)
 
print('Сохраняем сеть')
 
model.save("grib.h5")
print("Сохранение завершено!")

模型載入

from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Conv2D, MaxPooling2D, BatchNormalization
from tensorflow.python.keras.layers import Activation, Dropout, Flatten, Dense
from keras.models import load_model
 
print("Загрузка сети")
model = load_model("grib.h5")
print("Загрузка завершена!")

報錯

/usr/bin/python3.5 /home/disk2/py/neroset/do.py
/home/mama/.local/lib/python3.5/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
from ._conv import register_converters as _register_converters
Using TensorFlow backend.
Загрузка сети
Traceback (most recent call last):
File "/home/disk2/py/neroset/do.py", line 13, in module>
model = load_model("grib.h5")
File "/usr/local/lib/python3.5/dist-packages/keras/models.py", line 243, in load_model
model = model_from_config(model_config, custom_objects=custom_objects)
File "/usr/local/lib/python3.5/dist-packages/keras/models.py", line 317, in model_from_config
return layer_module.deserialize(config, custom_objects=custom_objects)
File "/usr/local/lib/python3.5/dist-packages/keras/layers/__init__.py", line 55, in deserialize
printable_module_name='layer')
File "/usr/local/lib/python3.5/dist-packages/keras/utils/generic_utils.py", line 144, in deserialize_keras_object
list(custom_objects.items())))
File "/usr/local/lib/python3.5/dist-packages/keras/models.py", line 1350, in from_config
model.add(layer)
File "/usr/local/lib/python3.5/dist-packages/keras/models.py", line 492, in add
output_tensor = layer(self.outputs[0])
File "/usr/local/lib/python3.5/dist-packages/keras/engine/topology.py", line 590, in __call__
self.build(input_shapes[0])
File "/usr/local/lib/python3.5/dist-packages/keras/layers/normalization.py", line 92, in build
dim = input_shape[self.axis]
TypeError: tuple indices must be integers or slices, not list

Process finished with exit code 1

戰斗種族解釋

убераю BatchNormalization всё работает хорошо. Не подскажите в чём ошибка?Выяснил что сохранение keras и нормализация tensorflow не работают вместе нужно просто изменить строку импорта.(譯文:整理BatchNormalization一切正常。 不要告訴我錯誤是什么?我發現保存keras和規范化tensorflow不能一起工作;只需更改導入字符串即可。)

強調文本 強調文本

keras.preprocessing.image import ImageDataGenerator
keras.models import Sequential
keras.layers import Conv2D, MaxPooling2D, BatchNormalization
keras.layers import Activation, Dropout, Flatten, Dense

##完美解決

##附上原文鏈接

https://qa-help.ru/questions/keras-batchnormalization

補充:keras和tensorflow模型同時讀取要慎重

項目中,先讀取了一個keras模型獲取模型輸入size,再加載keras轉tensorflow后的pb模型進行預測。

報錯:

Attempting to use uninitialized value batch_normalization_14/moving_mean

逛論壇,有建議加上初始化:

sess.run(tf.global_variables_initializer())

但是這樣的話,會導致模型參數全部變成初始化數據。無法使用預測模型參數。

最后發現,將keras模型的加載去掉即可。

猜測原因:keras模型和tensorflow模型同時讀取有坑

import cv2
import numpy as np
from keras.models import load_model
from utils.datasets import get_labels
from utils.preprocessor import preprocess_input
import time
import os
import tensorflow as tf
from tensorflow.python.platform import gfile
 
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
 
emotion_labels = get_labels('fer2013')
emotion_target_size = (64,64)
#emotion_model_path = './models/emotion_model.hdf5'
#emotion_classifier = load_model(emotion_model_path)
#emotion_target_size = emotion_classifier.input_shape[1:3]
 
path = '/mnt/nas/cv_data/emotion/test'
filelist = os.listdir(path)
total_num = len(filelist)
timeall = 0
n = 0
 
sess = tf.Session()
#sess.run(tf.global_variables_initializer())
with gfile.FastGFile("./trans_model/emotion_mode.pb", 'rb') as f:
    graph_def = tf.GraphDef()
    graph_def.ParseFromString(f.read())
    sess.graph.as_default()
    tf.import_graph_def(graph_def, name='')
 
    pred = sess.graph.get_tensor_by_name("predictions/Softmax:0")
 
    ######################img##########################
    for item in filelist:
        if (item == '.DS_Store') | (item == 'Thumbs.db'):
            continue
        src = os.path.join(os.path.abspath(path), item)
        bgr_image = cv2.imread(src)
        gray_image = cv2.cvtColor(bgr_image, cv2.COLOR_BGR2GRAY)
        gray_face = gray_image
        try:
            gray_face = cv2.resize(gray_face, (emotion_target_size))
        except:
            continue
 
        gray_face = preprocess_input(gray_face, True)
        gray_face = np.expand_dims(gray_face, 0)
        gray_face = np.expand_dims(gray_face, -1)
 
        input = sess.graph.get_tensor_by_name('input_1:0')
        res = sess.run(pred, {input: gray_face})
        print("src:", src)
 
        emotion_probability = np.max(res[0])
        emotion_label_arg = np.argmax(res[0])
        emotion_text = emotion_labels[emotion_label_arg]
        print("predict:", res[0], ",prob:", emotion_probability, ",label:", emotion_label_arg, ",text:",emotion_text)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 使用tensorflow 實現反向傳播求導
  • TensorFlow的自動求導原理分析
  • tensorflow中的梯度求解及梯度裁剪操作
  • Tensorflow 如何從checkpoint文件中加載變量名和變量值
  • Python3安裝tensorflow及配置過程
  • tensorflow中的數據類型dtype用法說明

標簽:常德 銅川 黑龍江 通遼 株洲 潛江 呂梁 阿里

巨人網絡通訊聲明:本文標題《解決tensorflow 與keras 混用之坑》,本文關鍵詞  解決,tensorflow,與,keras,混,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決tensorflow 與keras 混用之坑》相關的同類信息!
  • 本頁收集關于解決tensorflow 與keras 混用之坑的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品亚洲人在线观看| 日韩黄色片在线观看| 亚洲男人电影天堂| 国产一区二区三区在线观看免费视频 | 美日韩一级片在线观看| 欧美老肥妇做.爰bbww| 亚洲欧美福利一区二区| av午夜精品一区二区三区| 国产精品色婷婷久久58| 91在线播放网址| 一区二区在线观看不卡| 欧美午夜在线一二页| 日本亚洲一区二区| 亚洲国产精品精华液ab| 色婷婷亚洲婷婷| 一区二区视频免费在线观看| 欧美日韩一区二区三区免费看 | 视频一区视频二区中文字幕| 91麻豆精品国产| 国产精一区二区三区| 亚洲人成人一区二区在线观看| 色成年激情久久综合| 天天影视色香欲综合网老头| 26uuu亚洲综合色| 成人小视频免费观看| 一区二区不卡在线视频 午夜欧美不卡在| 色欧美片视频在线观看| 看电视剧不卡顿的网站| 成人免费视频在线观看| 日韩一区二区三区av| 成人性生交大片免费| 日韩精品三区四区| 中文字幕中文字幕一区| 精品久久久影院| 欧美性色综合网| 国产精品一区不卡| 午夜久久电影网| 久久嫩草精品久久久精品| 欧美在线观看禁18| 成人久久视频在线观看| 日本麻豆一区二区三区视频| 国产精品色眯眯| 91精品国产入口| 色综合天天做天天爱| 国产激情一区二区三区四区| 亚洲午夜视频在线观看| 国产精品不卡一区二区三区| 亚洲精品一区二区三区在线观看| 欧美最猛性xxxxx直播| 成人亚洲一区二区一| 强制捆绑调教一区二区| 亚洲日本在线天堂| 国产欧美视频一区二区| 久久这里只有精品首页| 日韩欧美在线网站| 欧美一卡二卡在线观看| 欧美精品18+| 在线观看一区不卡| 在线观看日韩国产| 日本道在线观看一区二区| 懂色av一区二区三区免费看| 精品亚洲免费视频| 久久成人综合网| 精品在线播放免费| 黄色小说综合网站| 韩日欧美一区二区三区| 国产在线精品一区二区不卡了 | 亚洲一区av在线| 亚洲免费大片在线观看| 综合亚洲深深色噜噜狠狠网站| 国产精品美女久久久久aⅴ| 精品国产免费视频| 国产亚洲精品中文字幕| 国产欧美日韩视频在线观看| 日本一区二区三区在线观看| 亚洲国产激情av| 亚洲桃色在线一区| 亚洲欧美色图小说| 午夜精品影院在线观看| 日韩av电影免费观看高清完整版 | 7777精品久久久大香线蕉| 欧美福利电影网| 欧美一卡2卡三卡4卡5免费| 精品国产伦一区二区三区观看方式| 亚洲欧美电影院| 日本一区二区三区在线不卡 | 久久久精品影视| 欧美一个色资源| 欧美日韩一本到| 欧美一区二区大片| 亚洲福利国产精品| 亚洲人成人一区二区在线观看 | 欧美精品一区二区三区久久久 | 9色porny自拍视频一区二区| 欧美videos中文字幕| 欧美成人国产一区二区| 国产精品热久久久久夜色精品三区| 中文字幕一区免费在线观看| 亚洲图片自拍偷拍| 国产在线视频一区二区| 成人短视频下载| 欧美在线观看一区二区| 欧美成人精精品一区二区频| 亚洲国产精品99久久久久久久久 | 色综合天天综合色综合av| 欧美久久久久久久久中文字幕| 欧美大片顶级少妇| 亚洲欧美日韩一区二区三区在线观看| 日韩高清在线观看| 91香蕉视频mp4| 久久久一区二区三区| 亚洲综合色视频| 国产v日产∨综合v精品视频| 欧美日韩另类一区| 日本一区免费视频| 老司机精品视频在线| 欧美最新大片在线看| 国产无遮挡一区二区三区毛片日本| 亚洲国产成人91porn| av不卡一区二区三区| 国产无一区二区| 精久久久久久久久久久| 欧美一区二区三区免费大片 | 91精品久久久久久久久99蜜臂| 亚洲精品视频在线| 成人性生交大片免费看在线播放 | 亚洲国产cao| 色婷婷综合中文久久一本| 国产日韩精品一区二区三区| 美女网站在线免费欧美精品| 色悠悠亚洲一区二区| 国产精品午夜电影| 国产成人av福利| wwwwxxxxx欧美| 黑人精品欧美一区二区蜜桃| 日韩欧美三级在线| 视频一区二区三区在线| 欧美三片在线视频观看| 亚洲一区二区高清| 欧美天堂一区二区三区| 亚洲国产精品久久一线不卡| 欧美色图一区二区三区| 亚洲大片在线观看| 91麻豆精品国产91久久久久久 | 色国产综合视频| 亚洲老妇xxxxxx| 91久久精品一区二区二区| 亚洲日本欧美天堂| 在线免费视频一区二区| 亚洲福利视频一区| 日韩精品一区二区三区视频 | 91在线视频网址| 日韩毛片在线免费观看| 色综合久久久久网| 亚洲永久免费视频| 欧美一区二区日韩一区二区| 蜜臀精品一区二区三区在线观看 | 亚洲久草在线视频| 51午夜精品国产| 精品影院一区二区久久久| 久久人人超碰精品| 成人永久aaa| 亚洲一区在线免费观看| 3d动漫精品啪啪1区2区免费 | 免费在线看成人av| 久久综合九色欧美综合狠狠| 成人精品高清在线| 亚洲午夜精品网| 精品女同一区二区| 91蜜桃在线免费视频| 日韩电影一区二区三区| 欧美国产日韩亚洲一区| 欧美久久一二三四区| 成人污污视频在线观看| 一区二区三区成人在线视频| 在线播放国产精品二区一二区四区 | 色婷婷精品久久二区二区蜜臀av| 亚洲宅男天堂在线观看无病毒| 91精品国产综合久久久蜜臀图片 | 亚洲人123区| 久久亚洲一区二区三区明星换脸 | 奇米四色…亚洲| 亚洲欧美自拍偷拍| 日韩欧美成人一区二区| 91性感美女视频| 精品无人码麻豆乱码1区2区| 亚洲精品国产一区二区精华液| 日韩视频国产视频| 99久久精品免费精品国产| 九九国产精品视频| 亚洲成a人v欧美综合天堂下载| 日本一区二区免费在线| 91精品国产全国免费观看| 色综合中文字幕国产| 青青青爽久久午夜综合久久午夜| 国产精品免费人成网站| xvideos.蜜桃一区二区| 欧美精品vⅰdeose4hd| 日本高清不卡视频| caoporen国产精品视频|