问题描述 tf.keras 在加载 cifar10 数据时报错,ssl.SSLError: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1977) import tensorflow as tf cifar10 = tf.keras.datasets.cifar10 (x_train, y_train), (x_test, y_test) = cifar10.load…
目录 0. 简介 1. 安装 1.1 安装 CUDA 和 cuDNN 2. 数据集 2.1 使用 tensorflow_datasets 导入公共数据集 2.2 数据集过大导致内存溢出 2.3 加载 cifar10 数据时报错 3. 评价指标 3.1 实现 F1 socre.precsion.recall 4. 优化器 4.1 AdamW 优化器示例程序 4.2 tf.keras 1.x 在使用 learning rate decay 时不要使用 tf.train 内的优化器 5. 模型 5.1…
Update:2019/09/21 使用 tf.keras 时,请使用 tf.keras.optimizers 里面的优化器,不要使用 tf.train 里面的优化器,不然学习率衰减会出现问题. 使用 tf.keras 过程中,如果要使用 learning rate decay,不要使用 tf.train.AdamOptimizer() 等 tf.train 内的优化器,因为学习率的命名不同,导致 tf.keras 中学习率衰减的函数无法使用,一般都会报错 "AttributeError: 'T…
目录 从 PyTorch 中导出模型参数 第 0 步:配置环境 第 1 步:安装 MMdnn 第 2 步:得到 PyTorch 保存完整结构和参数的模型(pth 文件) 第 3 步:导出 PyTorch 模型的参数,保存至 hdf5 文件 可能遇到的问题 验证从 PyTorch 导出的 AlexNet 预训练模型 Attentions References tf.keras 的预训练模型都放在了'tensorflow.python.keras.applications' 目录下,在 tensor…
cifar-10 每张图片的大小为 32×32,而 AlexNet 要求图片的输入是 224×224(也有说 227×227 的,这是 224×224 的图片进行大小为 2 的 zero padding 的结果),所以一种做法是将 cifar-10 数据集的图片 resize 到 224×224. 此时遇到的问题是,cifar-10 resize 到 224×224 时,32G 内存都将无法完全加载所有数据,在归一化那一步(即每个像素点除以 255)就将发生 OOM(out of memory)…
tf.keras.metric 里面竟然没有实现 F1 score.recall.precision 等指标,一开始觉得真不可思议.但这是有原因的,这些指标在 batch-wise 上计算都没有意义,需要在整个验证集上计算,而 tf.keras 在训练过程中计算 acc.loss 都是一个 batch 计算一次的,最后再平均起来.Keras 2.0 版本将 precision, recall, fbeta_score, fmeasure 等 metrics 移除了. 虽然 tf.keras.me…
TensorFlow 2.0 版本将 keras 作为高级 API,对于 keras boy/girl 来说,这就很友好了.tf.keras 从 1.x 版本迁移到 2.0 版本,需要修改几个地方. 1. 设置随机种子 import tensorflow as tf # TF 1.x tf.set_random_seed(args.seed) # TF 2.0 tf.random.set_seed(args.seed) 2. 设置并行线程数和动态分配显存 import tensorflow as…
一些最常用的数据集如 MNIST.Fashion MNIST.cifar10/100 在 tf.keras.datasets 中就能找到,但对于其它也常用的数据集如 SVHN.Caltech101,tf.keras.datasets 中没有,此时我们可以在 TensorFlow Datasets 中找找看. tensorflow_datasets 里面包含的数据集列表:https://www.tensorflow.org/datasets/catalog/overview#all_dataset…
运行以下类似代码: while True: inputs, outputs = get_AlexNet() model = tf.keras.Model(inputs=inputs, outputs=outputs) model.summary() adam_opt = tf.keras.optimizers.Adam(learning_rate) # The compile step specifies the training configuration. model.compile(opt…
keras 构建模型很简单,上手很方便,同时又是 tensorflow 的高级 API,所以学学也挺好. 模型复现在我们的实验中也挺重要的,跑出了一个模型,虽然我们可以将模型的 checkpoint 保存,但再跑一遍,怎么都得不到相同的结果. 用 keras 实现模型,想要能够复现,首先需要设置各个可能的随机过程的 seed,如 np.random.seed(1).然后分为两种情况: 代码不要在 GPU 上跑,而是限制在 CPU 上跑,此时可以自行设置 fit 函数的 batch_size 参数…