Tensorflow实现简单图像探索

本文介绍如何使用Python 2.6版本下的scipy.io库加载Stanford SVHN(Street View House Numbers)数据集,并进行必要的数据预处理步骤,包括数据重组、归一化以及标签的one-hot编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据采用斯坦福SVHN数据集(The Street View HouseNumbers Dataset)。

下载地址:http://ufldl.stanford.edu/housenumbers/

数据集名 train_32x32.mattest_32x32.mat 

格式为MATLAB文件,可从scipy.io中import loadmat读取,这里Python2.6版本。下面为具体代码


#! usr/bin/python

#coding=utf-8

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf

from scipy.io import loadmat as load

train= load('/Users/zhiren1111/Desktop/train_32x32.mat')
test= load('/Users/zhiren1111/Desktop/test_32x32.mat')


def reformat(samples,labels):
    new=np.transpose(samples,(3,0,1,2)).astype(np.float64)
    labels=np.array(list(x[0] for x in labels))
    one_hot_labels=[]
    for num in labels:
        one_hot=[0.0]*10
        if num==10:
            one_hot[0]=1.0
        else:
            one_hot[num]=1.0
        one_hot_labels.append(one_hot)

        labels=np.array(one_hot_labels).astype(np.float64)
        return new ,labels
def renormarize(samples):
    a=np.add.reduce(samples,keepdims=True,axis=3)
    a=a/3.0
    return a/128.0-1.0



def inspect(dataset,labels,i):
    if dataset.shape[3]==1:
        shape=dataset.shape
        dataset=dataset.reshape(shape[0],shape[1],shape[2])
    plt.imshow(dataset[i])
    plt.show()



train_samples=train["X"]

train_labels=train["y"]


_train_samples,_train_labels=reformat(train_samples,train_labels)




_train_samples=renormarize(_train_samples)

inspect(_train_samples,_train_labels,1)
 
 
 
 
本篇文章完全参考t天空下的斌的文章,只是把测试环境从python3.x换成python2.x
详细链接如下
 http://blog.youkuaiyun.com/a595130080/article/details/64440464 
 
 
 
 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值