-
大小: 1.07MB文件類型: .zip金幣: 2下載: 0 次發布日期: 2023-08-09
- 語言: 其他
- 標簽: TensorFlow??TFRecord??DNN??
資源簡介
本文主要編寫針對一個簡單的分類數據集通過TFRecord的文件存儲方式存取至磁盤上,然后通過相應讀寫方法,讀取TFRecord文件,并做簡單的訓練來熟悉整個流程。https://blog.csdn.net/qq_37972530/article/details/85057631

代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
“““
Created?on?Thu?Dec?20?16:05:02?2018
@author:?Administrator
“““
#?_*_?coding:utf-8?_*_
import?numpy?as?np
import?tensorflow?as?tf
import?pandas?as?pd
import?math
from?sklearn.model_selection?import?train_test_split
from?sklearn.decomposition?import?PCA
from?sklearn.preprocessing?import?OneHotEncoder
def?get_data():
????#讀取數據
????data=pd.read_csv(‘data.csv‘encoding=‘gbk‘)
????#刪除空字段
????data=data.dropna(axis=1?how?=?‘all‘)
????#刪除重復字段
????data=data.drop(columns=[‘flag1‘‘flag2‘‘flag3‘‘flag4‘‘flag5‘‘cust_id‘])
????#獲取列字段名
????data_columns=[i?for?i?in?data.columns]
????for?columns?in?data_columns:
????????#獲取unique
????????columns_unique=data[columns].unique()
????????len_unique=len(columns_unique)????
????????#達到判斷條件替換數據為數字
????????if?len_unique<10:
????????????for?i?in?range(len_unique):
????????????????data.loc[data[columns]==columns_unique[i]columns]=i
????????#賦值含字符串字段
????????try:
????????????data[columns]=data[columns].astype(np.float32)
????????except?baseException:
????????????data.loc[data[columns]!=0columns]=0.0
????????????data[columns]=data[columns].astype(np.float32)
????
????data_Y=data[‘YY‘]
????data_X=data.drop(columns=[‘YY‘])
????data_mean=np.mean(data_Xaxis=0)
????tmp_i=0
????for?k?in?data_columns[1:]:
????????#data.loc[data[k]==np.NaNk]=data_mean[k]
????????data_X[k]=data_X[k].fillna(data_mean[tmp_i])
????????tmp_i+=1
????return?data_X.valuesdata_Y.values
#劃分數據集
def?divide_data():
????data_Xdata_Y=get_data()
????data_Y=np.reshape(data_Y[-11])
????#去y均值
????#meanY=np.mean(data_Yaxis=0)
????#data_Y-=meanY
????meanVals?=?np.mean(data_X?axis=0)??
????#print(meanVals)
????data_X?=?data_X?-?meanVals??
????#PCA降維
????pca?=?PCA(n_components=8)
????data_X?=?pca.fit_transform(data_X)
????‘‘‘
????#計算協方差
????#covMat?=?np.cov(data_X?rowvar=True)
????covMat=data_X.corr()
????print(covMat)
????#?計算協方差矩陣的特征值和特征向量
????eigVals?eigVects?=?np.linalg.eig(np.mat(covMat))
????#?sort
????eigValInd?=?np.argsort(eigVals)
????print(“按特征值排序:{}“.format(eigValInd))
????#選擇維度為300的特征值
????eigValInd?=?eigValInd[:-(3?+?1):-1]??#?cut?off?unwanted?dimensions
????redEigVects?=?eigVects[:?eigValInd]??#?reorganize?eig?vects?largest?to?smallest???#選擇與特征值對應的特征向量
????#去x均值
????meanVals?=?np.mean(data_X?axis=0)??
????print(meanVals)
????meanRemoved?=?data_X?-?meanVals??
????
????lowDataMat?=?np.dot(meanRemoved??redEigVects)??#transform?data?into?new?dimensions
????data_X=lowDataMat
????‘‘‘
????data_Y=data_Y.astype(np.int32)
????#print(data_Y)
????data_Y=OneHotEncoder(sparse=Truen_values=‘auto‘).fit_transform(data_Y).toarray()
????#數據集長度
????#len_0=data_X.shape[0]
????#print(data_X.shape)
????train_Xtest_Xtrain_Ytest_Y=train_test_split(data_X?data_Y?test_size=0.2?random_state=36)
????return?train_Xtrain_Ytest_Xtest_Y
#1.TFRecord?寫入
#定義Protocol?Buffer(協議緩沖器)
def?examples(imagelabel):
????return?tf.train.Example(featu
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-30?17:13??python_cd\
?????目錄???????????0??2018-12-21?14:20??python_cd\.idea\
?????目錄???????????0??2018-12-20?22:16??python_cd\.idea\inspectionProfiles\
?????文件?????????222??2018-12-20?22:15??python_cd\.idea\misc.xm
?????文件?????????270??2018-12-20?22:15??python_cd\.idea\modules.xm
?????文件?????????459??2018-12-20?22:16??python_cd\.idea\python_cd.iml
?????文件???????12041??2018-12-21?14:20??python_cd\.idea\workspace.xm
?????文件?????1200245??2018-12-20?12:18??python_cd\data.csv
?????文件????????4508??2018-12-30?17:14??python_cd\make_tfrecord.py
?????目錄???????????0??2018-12-30?17:12??python_cd\model\
?????文件??????421056??2018-12-21?16:19??python_cd\test_data.tfrecord
?????文件?????1684224??2018-12-21?16:19??python_cd\train_data.tfrecord
?????文件????????5490??2018-12-30?17:15??python_cd\train_record.py
- 上一篇:STM32串口輸出MPU-9250測試過
- 下一篇:VGA分辨率時序
評論
共有 條評論