当前位置: 首页 > news >正文

制作网站专业河南简介网站设计

制作网站专业,河南简介网站设计,太原做网站培训,wordpress的主题修改文章目录 data模块的使用基础api的介绍csv文件tfrecord data模块的使用 在训练的过程中#xff0c;当数据量一大的时候#xff0c;我们纯读取一个文件#xff0c;然后每次训练都调用相同的文件#xff0c;然后进行处理是很不科学的#xff0c;或者说#xff0c;当我们需… 文章目录 data模块的使用基础api的介绍csv文件tfrecord data模块的使用 在训练的过程中当数据量一大的时候我们纯读取一个文件然后每次训练都调用相同的文件然后进行处理是很不科学的或者说当我们需要进行多次训练的时候我们实际上可以将数据先切分打乱到对应的位置然后存储到文件夹当中下次读取然后进行训练。这样子也可以避免一下子加载太多的数据。这对于大数据的图像切割领域尤其重要 基础api的介绍 import numpy as np import pandas as pd import tensorflow as tf# 经过下面的使用得到的dataset可以当作是迭代器 或者 就是数据提取器# from_tensor_slices数据切片 返回的是一个迭代器 需要for去取 dataset tf.data.Dataset.from_tensor_slices(np.arange(3)) for item in dataset:print(item) print(-*50)# from_tensors 不对数据进行处理 就是一个长数据 但是一样得用for去取数据 dataset tf.data.Dataset.from_tensors(np.arange(3)) for item in dataset:print(item) print(-*50)# batch(2)一次性取多少数据 dataset tf.data.Dataset.from_tensor_slices(np.arange(10)).batch(4) for item in dataset:print(item) print(-*50)# repeat把数据进行复制处理 dataset tf.data.Dataset.from_tensor_slices(np.arange(2)).repeat(2) for item in dataset:print(item) print(-*50)# interleave 就是提取数据的方式 和下面进行对比 dataset tf.data.Dataset.from_tensor_slices(np.arange(10)).batch(2) dataset2 dataset.interleave(lambda v: tf.data.Dataset.from_tensors(v).repeat(3), # map_fncycle_length 3, # cycle_length,每一个cycle提取的个数block_length 2, # block_length ) for item in dataset2:print(item)# interleave 就是提取数据的方式 dataset tf.data.Dataset.from_tensor_slices(np.arange(10)).batch(2) dataset2 dataset.interleave(lambda v: tf.data.Dataset.from_tensor_slices(v).repeat(3), # map_fncycle_length 3, # cycle_length,竖选3个为一个cycleblock_length 2, # block_length横选2个 ) for item in dataset2:print(item) print(-*50)x np.array([[1, 2], [3, 4], [5, 6]]) y np.array([cat, dog, fox]) #输入的参数是元祖的情况下 dataset3 tf.data.Dataset.from_tensor_slices((x, y)) print(dataset3)for item_x, item_y in dataset3:print(item_x, item_y) #输入的参数是字典的情况下 dataset4 tf.data.Dataset.from_tensor_slices({feature1: x,label: y}) print(dataset4) for item in dataset4:print(item[feature1], item[label])输出 tf.Tensor(0, shape(), dtypeint64) tf.Tensor(1, shape(), dtypeint64) tf.Tensor(2, shape(), dtypeint64) -------------------------------------------------- tf.Tensor([0 1 2], shape(3,), dtypeint64) -------------------------------------------------- tf.Tensor([0 1 2 3], shape(4,), dtypeint64) tf.Tensor([4 5 6 7], shape(4,), dtypeint64) tf.Tensor([8 9], shape(2,), dtypeint64) -------------------------------------------------- tf.Tensor(0, shape(), dtypeint64) tf.Tensor(1, shape(), dtypeint64) tf.Tensor(0, shape(), dtypeint64) tf.Tensor(1, shape(), dtypeint64) -------------------------------------------------- tf.Tensor([0 1], shape(2,), dtypeint64) tf.Tensor([0 1], shape(2,), dtypeint64) tf.Tensor([2 3], shape(2,), dtypeint64) tf.Tensor([2 3], shape(2,), dtypeint64) tf.Tensor([4 5], shape(2,), dtypeint64) tf.Tensor([4 5], shape(2,), dtypeint64) tf.Tensor([0 1], shape(2,), dtypeint64) tf.Tensor([2 3], shape(2,), dtypeint64) tf.Tensor([4 5], shape(2,), dtypeint64) tf.Tensor([6 7], shape(2,), dtypeint64) tf.Tensor([6 7], shape(2,), dtypeint64) tf.Tensor([8 9], shape(2,), dtypeint64) tf.Tensor([8 9], shape(2,), dtypeint64) tf.Tensor([6 7], shape(2,), dtypeint64) tf.Tensor([8 9], shape(2,), dtypeint64) tf.Tensor(0, shape(), dtypeint64) tf.Tensor(1, shape(), dtypeint64) tf.Tensor(2, shape(), dtypeint64) tf.Tensor(3, shape(), dtypeint64) tf.Tensor(4, shape(), dtypeint64) tf.Tensor(5, shape(), dtypeint64) tf.Tensor(0, shape(), dtypeint64) tf.Tensor(1, shape(), dtypeint64) tf.Tensor(2, shape(), dtypeint64) tf.Tensor(3, shape(), dtypeint64) tf.Tensor(4, shape(), dtypeint64) tf.Tensor(5, shape(), dtypeint64) tf.Tensor(0, shape(), dtypeint64) tf.Tensor(1, shape(), dtypeint64) tf.Tensor(2, shape(), dtypeint64) tf.Tensor(3, shape(), dtypeint64) tf.Tensor(4, shape(), dtypeint64) tf.Tensor(5, shape(), dtypeint64) tf.Tensor(6, shape(), dtypeint64) tf.Tensor(7, shape(), dtypeint64) tf.Tensor(8, shape(), dtypeint64) tf.Tensor(9, shape(), dtypeint64) tf.Tensor(6, shape(), dtypeint64) tf.Tensor(7, shape(), dtypeint64) tf.Tensor(8, shape(), dtypeint64) tf.Tensor(9, shape(), dtypeint64) tf.Tensor(6, shape(), dtypeint64) tf.Tensor(7, shape(), dtypeint64) tf.Tensor(8, shape(), dtypeint64) tf.Tensor(9, shape(), dtypeint64) -------------------------------------------------- _TensorSliceDataset element_spec(TensorSpec(shape(2,), dtypetf.int64, nameNone), TensorSpec(shape(), dtypetf.string, nameNone)) tf.Tensor([1 2], shape(2,), dtypeint64) tf.Tensor(bcat, shape(), dtypestring) tf.Tensor([3 4], shape(2,), dtypeint64) tf.Tensor(bdog, shape(), dtypestring) tf.Tensor([5 6], shape(2,), dtypeint64) tf.Tensor(bfox, shape(), dtypestring) _TensorSliceDataset element_spec{feature1: TensorSpec(shape(2,), dtypetf.int64, nameNone), label: TensorSpec(shape(), dtypetf.string, nameNone)} tf.Tensor([1 2], shape(2,), dtypeint64) tf.Tensor(bcat, shape(), dtypestring) tf.Tensor([3 4], shape(2,), dtypeint64) tf.Tensor(bdog, shape(), dtypestring) tf.Tensor([5 6], shape(2,), dtypeint64) tf.Tensor(bfox, shape(), dtypestring)csv文件 执行流程 !rm -rf generate_csv存数据 from sklearn.datasets import fetch_california_housing from sklearn.model_selection import train_test_split import numpy as np import pandas as pd import tensorflow as tf from sklearn.preprocessing import StandardScaler import os# 数据准备 # ----------------------------------------------------------------------------- housing fetch_california_housing() x_train_all, x_test, y_train_all, y_test train_test_split(housing.data, housing.target, random_state 7) x_train, x_valid, y_train, y_valid train_test_split(x_train_all, y_train_all, random_state 11) print(x_train.shape, y_train.shape) print(x_valid.shape, y_valid.shape) print(x_test.shape, y_test.shape) scaler StandardScaler() x_train_scaled scaler.fit_transform(x_train) x_valid_scaled scaler.transform(x_valid) x_test_scaled scaler.transform(x_test) # -----------------------------------------------------------------------------# 下面要把特征工程后的数据存为csv文件 output_dir generate_csv if not os.path.exists(output_dir):os.mkdir(output_dir)def save_to_csv(output_dir, data, name_prefix, headerNone, n_parts10):#生成文件名path_format os.path.join(output_dir, {}_{:02d}.csv)#把数据分为n_parts部分写到文件中去 enumerate就是多一个i从0开始不断加上去的for file_idx, row_indices in enumerate(np.array_split(np.arange(len(data)), n_parts)):#生成子文件名part_csv path_format.format(name_prefix, file_idx)with open(part_csv, wt, encodingutf-8) as f:#先写头部if header is not None:f.write(header \n)for row_index in row_indices:#把字符串化后的每个字符串用逗号拼接起来f.write(,.join([repr(col) for col in data[row_index]]))f.write(\n)#np.c_把x和y合并起来 train_data np.c_[x_train_scaled, y_train] valid_data np.c_[x_valid_scaled, y_valid] test_data np.c_[x_test_scaled, y_test] #头部,特征也有目标 header_cols housing.feature_names [MidianHouseValue] #把列表变为字符串 header_str ,.join(header_cols) print(header_str) save_to_csv(output_dir, train_data, train,header_str, n_parts20) save_to_csv(output_dir, valid_data, valid,header_str, n_parts10) save_to_csv(output_dir, test_data, test,header_str, n_parts10)输出 (11610, 8) (11610,) (3870, 8) (3870,) (5160, 8) (5160,) MedInc,HouseAge,AveRooms,AveBedrms,Population,AveOccup,Latitude,Longitude,MidianHouseValue!cd generate_csv;ls输出 test_00.csv test_06.csv train_02.csv train_08.csv train_14.csv valid_00.csv valid_06.csv test_01.csv test_07.csv train_03.csv train_09.csv train_15.csv valid_01.csv valid_07.csv test_02.csv test_08.csv train_04.csv train_10.csv train_16.csv valid_02.csv valid_08.csv test_03.csv test_09.csv train_05.csv train_11.csv train_17.csv valid_03.csv valid_09.csv test_04.csv train_00.csv train_06.csv train_12.csv train_18.csv valid_04.csv test_05.csv train_01.csv train_07.csv train_13.csv train_19.csv valid_05.csv提取数据 import pprint# 提取数据的流程 # 获取文件名称 filenames os.listdir(./generate_csv) train_filenames [] test_filenames [] valid_filenames [] for filename in filenames:if filename[0] v:valid_filenames.append(generate_csv/filename)elif filename[1] e:test_filenames.append(generate_csv/filename)else:train_filenames.append(generate_csv/filename)def parse_csv_line(line, n_fields 9):#先写一个默认的格式就是9个nan,如果从csv中读取缺失数据就会变为nandefs [tf.constant(np.nan)] * n_fields#使用decode_csv解析parsed_fields tf.io.decode_csv(line, record_defaultsdefs)#前8个是x最后一个是yx tf.stack(parsed_fields[0:-1])y tf.stack(parsed_fields[-1:])return x, ydef csv_reader_dataset(filenames, n_readers5,batch_size32, n_parse_threads5,shuffle_buffer_size10000):# 将数据集放入这个dataset当中他会默认进行shuffledataset tf.data.Dataset.list_files(filenames)#变为repeat dataset可以让读到最后一个样本时从新去读第一个样本dataset dataset.repeat()dataset dataset.interleave(#skip(1)是因为每个文件存了特征名字target名字lambda filename: tf.data.TextLineDataset(filename).skip(1),cycle_length n_readers)dataset.shuffle(shuffle_buffer_size) #对数据进行洗牌混乱#map通过parse_csv_line对数据集进行映射map只会给函数传递一个参数dataset dataset.map(parse_csv_line,num_parallel_callsn_parse_threads)dataset dataset.batch(batch_size)return dataset# 得到dataset类 train_set csv_reader_dataset(train_filenames, batch_size4)print(train_set) #是csv_reader_dataset处理后的结果 for x_batch, y_batch in train_set.take(2):print(x:)pprint.pprint(x_batch)print(y:)pprint.pprint(y_batch)输出 _BatchDataset element_spec(TensorSpec(shape(None, 8), dtypetf.float32, nameNone), TensorSpec(shape(None, 1), dtypetf.float32, nameNone)) x: tf.Tensor: shape(4, 8), dtypefloat32, numpy array([[-1.1199750e00, -1.3298433e00, 1.4190045e-01, 4.6581370e-01,-1.0301778e-01, -1.0744184e-01, -7.9505241e-01, 1.5304717e00],[ 4.9710345e-02, -8.4924191e-01, -6.2146995e-02, 1.7878747e-01,-8.0253541e-01, 5.0660671e-04, 6.4664572e-01, -1.1060793e00],[-6.6722274e-01, -4.8239522e-02, 3.4529406e-01, 5.3826684e-01,1.8521839e00, -6.1125383e-02, -8.4170932e-01, 1.5204847e00],[-3.2652634e-01, 4.3236190e-01, -9.3454592e-02, -8.4029920e-02,8.4600359e-01, -2.6631648e-02, -5.6176794e-01, 1.4228760e-01]],dtypefloat32) y: tf.Tensor: shape(4, 1), dtypefloat32, numpy array([[0.66 ],[2.286],[1.59 ],[2.431]], dtypefloat32) x: tf.Tensor: shape(4, 8), dtypefloat32, numpy array([[-1.0775077 , -0.4487407 , -0.5680568 , -0.14269263, -0.09666677,0.12326469, -0.31448638, -0.4818959 ],[-0.9490939 , 0.6726626 , 0.28370556, 0.1065553 , -0.65464777,-0.06239493, 0.21273656, 0.0024705 ],[-1.453851 , 1.8741661 , -1.1315714 , 0.36112761, -0.3978858 ,-0.03273859, -0.73906416, 0.64662784],[ 1.5180511 , -0.52884096, 0.81024706, -0.1921417 , 0.44135395,0.02733506, -0.81838083, 0.8563535 ]], dtypefloat32) y: tf.Tensor: shape(4, 1), dtypefloat32, numpy array([[0.978],[0.607],[1.875],[2.898]], dtypefloat32)tfrecord Tfrecord是TensorFlow独有的数据格式有读取速度快的优势正常情况下我们训练文件数据集经常会生成 train, test 或者val文件夹这些文件夹内部往往会存着成千上万的图片或文本等文件这些文件被散列存着这样不仅占用磁盘空间并且再被一个个读取的时候会非常慢繁琐。占用大量内存空间有的大型数据不足以一次性加载。此时我们TFRecord格式的文件存储形式会很合理的帮我们存储数据。TFRecord内部使用了“Protocol Buffer”二进制数据编码方案它只占用一个内存块只需要一次性加载一个二进制文件的方式即可简单快速尤其对大型训练数据很友好。而且当我们的训练数据量比较大的时候可以将数据分成多个TFRecord文件来提高处理效率。 之后补这边采用csv也可以方法类似这边先跳之后补充。
http://www.hkea.cn/news/14479143/

相关文章:

  • 容城网站建设打开一张图片后点击跳转到网站怎么做
  • 番禺网站(建设信科网络)龙华网站建设方案表
  • 网站内容图片怎么做的邢台网络推广
  • 网站改版建设情况的汇报成功的网络营销案例有哪些
  • 美食网站建设背景介绍做展会怎么引流到自己的网站
  • 太原网站建设平台女孩做网站工作辛苦吗
  • 学校网站用途怎么做网站广告联盟
  • 百度翻译api wordpressseo黑帽2022
  • 网站开发细节重庆建设工程招标信息网站
  • 手机笑话网站源码中企高呈高端网站建设费用
  • 深圳市工程建设交易服务中心网站网站建设产品展示型的
  • thymeleaf做网站 seo网站建设的基本流程包括
  • 专业制作网站多少钱网页布局设计摘要
  • 企业网站建设费用的预算数商云招聘
  • 做网站 带宽 多少钱网站建设费用核算科目
  • 廊坊网站建设佛山厂商一个ip 做2个网站
  • 网站开发 不好 怎么说百度站长之家
  • 做网站公司 陕西渭南wordpress淘宝客插件破解版
  • 怎么做网站界面分析网站建设公司中心
  • 专业网站建设常州南京网站制作公司报价
  • 网站的主要功能公司网站后台怎么上传视频
  • 做图表的网站 免费专业网站建设经费申请报告
  • 租房信息网站建设如何建立一个网站的数据库文件
  • 昭通昭阳区城乡建设管理局网站网站规划与建设实验心得体会
  • 暖色调网站欣赏如何分析对手网站关键词
  • wordpress 多站福州网站建设哪个好
  • 深圳华强做网站河南省网站
  • seo如何分析一个网站seo是什么及作用
  • 山东省建设厅网站 - 百度各大网站rss地址
  • 江阴建设局网站太原网站优化工具方法