小编Mar*_*ark的帖子

Floras16比keras中的float32慢

我正在测试我的新NVIDIA Titan V,它支持float16操作.我注意到在训练期间,float16比float32(~500 ms /步)慢得多(~800 ms /步).

要执行float16操作,我将keras.json文件更改为:

{
"backend": "tensorflow",
"floatx": "float16",
"image_data_format": "channels_last",
"epsilon": 1e-07
}
Run Code Online (Sandbox Code Playgroud)

为什么float16操作这么慢?我是否需要修改我的代码而不仅仅是keras.json文件?

我在Windows 10上使用CUDA 9.0,cuDNN 7.0,tensorflow 1.7.0和keras 2.1.5.我的python 3.5代码如下:

img_width, img_height = 336, 224

train_data_dir = 'C:\\my_dir\\train'
test_data_dir = 'C:\\my_dir\\test'
batch_size=128

datagen = ImageDataGenerator(rescale=1./255,
    horizontal_flip=True,   # randomly flip the images 
    vertical_flip=True) 

train_generator = datagen.flow_from_directory(
    train_data_dir,
    target_size=(img_height, img_width),
    batch_size=batch_size,
    class_mode='binary')

test_generator = datagen.flow_from_directory(
    test_data_dir,
    target_size=(img_height, img_width),
    batch_size=batch_size,
    class_mode='binary')

# Architecture of NN
model = Sequential()
model.add(Conv2D(32,(3, 3), input_shape=(img_height, img_width, 3),padding='same',kernel_initializer='lecun_normal'))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(32,(3, …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow

17
推荐指数
1
解决办法
4509
查看次数

从训练好的 keras 模型中获取训练超参数

我试图找出一些用于训练我拥有的旧 keras 模型的超参数。它们被保存为 .h5 文件。使用 时model.summary(),我获得了模型架构,但没有关于模型的额外元数据。

当我在记事本++中打开这个 .h5 文件时,大部分文件不是人类可读的,但有一些我可以理解,例如;

{“loss_weights”:null,“metrics”:[“accuracy”],“sample_weight_mode”:null,“optimizer_config”:{“config”:{“decay”:0.0,“momentum”:0.8999999761581421,“nesterov”:false , "lr": 9.999999747378752e-05}, "class_name": "SGD"}, "loss": "binary_crossentropy"}

打印的输出中不存在model.summary()

有没有办法使这些文件易于阅读或获得包含版本信息和训练参数的更扩展的摘要?

python hdf5 keras

5
推荐指数
2
解决办法
2296
查看次数

标签 统计

keras ×2

python ×2

hdf5 ×1

tensorflow ×1