tensorflow - tensorflow版本之间的准确性不一致
问题描述
我是 keras/tensorflow 的新手。
在另一个版本的 keras,tensorflow 之间,在准确性方面存在不一致的结果。
我不知道为什么。
先感谢您!
import tensorflow as tf
tf.__version__
'1.15.2'
from tensorflow import keras
keras.__version__
'2.2.4-tf'
from keras.models import Model, Sequential
from keras.layers import InputLayer, Dense, BatchNormalization, Activation, Dropout
from keras.callbacks import EarlyStopping
from keras import regularizers
classify = [
InputLayer(input_shape=(X_train.shape[1],)),
BatchNormalization(),
Dense(128),
BatchNormalization(),
Activation('relu'),
Dense(64, activity_regularizer=regularizers.l1(1e-5)),
BatchNormalization(),
Activation('relu'),
Dense(1),
Activation('sigmoid')
]
model = Sequential(classify)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=5, batch_size=128, shuffle="batch")
print(model.metrics_names, model.evaluate(X_test, y_test))
['损失','acc'] [0.02403441002866048,0.994511238891793]
import tensorflow as tf
tf.__version__
'2.3.0'
from tensorflow import keras
keras.__version__
'2.4.0'
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=5, batch_size=128, shuffle="batch")
print(model.metrics_names, model.evaluate(X_test, y_test))
['损失','准确性'] [0.6886715888977051,0.5517511963844299]
解决方案
尝试:
for i, var in enumerate(model.trainable_weights):
print(model.trainable_weights[i].name)
推荐阅读
- opengl - 闪烁的背景颜色
- python - 在 pandas 中拆分和复制 csv 字段
- php - ":?" 是什么意思?在PHP中的方法意味着之后?
- graphql - Gatsby:通过frontmatter、GraphQl和Styled-components设置图片背景
- sql - SQL子查询返回记录,但主查询整体返回零行
- c++ - 如何在 2D 碰撞检测中正确解决碰撞的位置?
- python - 网站总是使用过时的浏览器对其进行标记
- django - ModelSerializer 需要来自实例的字段数据
- php - 如何修复 Laravel 5.7 中的 MethodNotAllowedHttpException 错误?
- javascript - 使用 Sweet.JS 卫生宏(如扩展方法)以安全的方式扩展 TypeScript / JavaScript 原生对象