CIFAR10+卷积神经网络TensorFlow

使用卷积神经网络对CIFAR10数据集进行分类。

运行平台: Linux
Python版本: Python 3.6
TensorFlow版本: 1.15.2
IDE: Colab

       在上次的全连接网络的基础上对CIFAR10进行分类CIFAR10+全连接网络TensorFlow(有需要的同学可以先看这个),一些基本的部分如解压和数据集就不再介绍了。

代码

读取数据集

%tensorflow_version 1.x
import tensorflow as tf
import numpy as np
import time
import os

print(tf.__version__)
!/opt/bin/nvidia-smi
TensorFlow 1.x selected.
1.15.2
Mon May 11 13:18:03 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67       Driver Version: 418.67       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla P100-PCIE...  Off  | 00000000:00:04.0 Off |                    0 |
| N/A   52C    P0    31W / 250W |      0MiB / 16280MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
# 训练数据集载入函数
def train_data_load(path):
  import pickle
  
  train_dataset = {
   'train_images':[], 'train_labels':[]}
  for batch_num in range(1, 6):
    with open('{0}/data_batch_{1}'.format(path, batch_num), 'rb') as f:
      data = pickle.load(f, encoding='bytes')
    train_dataset['train_images'].append(data[b'data'])
    train_dataset['train_labels'].append(data[b'labels'])
  train_dataset['train_images'] = np.concatenate(train_dataset['train_images'])
  train_dataset['train_labels'] = np.concatenate(train_dataset['train_labels'])
  return train_dataset


# 测试数据集载入函数
def test_data_load(path):
  import pickle

  test_dataset = {
   'test_images':[], 'test_labels':[]}
  with open('{0}/test_batch'.format(path), 'rb') as f:
    data = pickle.load(f, encoding='bytes')
  test_dataset['test_images'] = data[b'data']
  test_dataset['test_labels'] = data[b'labels']
  
  return test_dataset


# 读入测试和训练集
train_dataset = train_data_load('/content/drive/My Drive/cifar-10-batches-py')
test_dataset = test_data_load('/content/drive/My Drive/cifar-10-batches-py')

# 将数据集reshape符合的形状
train_images = np.reshape(train_dataset['train_images'], [-1,32,32,3])
train_labels = np.array(train_dataset['train_labels'])
test_images = np.reshape(test_dataset['test_images'], [-1,32,32,3])
test_labels = np.array(test_dataset['test_labels'])

# 查看各个的形状
print(train_images.shape)
print(train_labels.shape)
print(test_images.shape)
print(test_labels.shape)

                
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值