Python文件操作:JSON、CSV、TSV、Excel和Pickle文件序列化

机器学习数据输入全解析:CSV/JSON/Parquet/二进制/流式五类数据加载实战 在机器学习工程中,数据输入远不止‘读文件’那么简单——它涉及编码解析、内存管理、类型推断、协议适配与实时流控等底层机制。理解CSV作为文本流的状态机本质、JSON嵌套结构的路径寻址逻辑、Parquet列式存储的谓词下推原理,是构建鲁棒数据管道的基础。尤其当面对传感器二进制流或Kafka实时数据时,传统pandas加载方式极易引发MemoryError或帧截断故障。本文聚焦真实工业场景中的五类典型输入形态,结合pandas、PyArrow、ijson、struct等工具链,提供从原始字节到torch.Tens 阅读详情

文件操作是Python编程的重要部分,它涉及处理各种文件格式,包括JSON、CSV、TSV、Excel和Pickle。

一、JSON文件操作

1.1 什是JSON?

JSON(JavaScript Object Notation)是一种轻量级数据交换格式,常用于数据存储和交换。它采用文本格式,易于阅读和编写,同时也易于解析和生成。JSON数据由键-值对组成,类似于Python中的字典。

1.2 读取JSON文件

Python提供了内置的json模块,用于读取和写入JSON文件。

读取JSON文件的示例:

import json

# 读取JSON文件
with open('data.json', 'r') as file:
    data = json.load(file)

# 使用数据
print(data)

1.3 写入JSON文件

要将数据写入JSON文件,可以使用json.dump()方法。

将数据写入JSON文件的示例:

import json

data = {'name': 'John', 'age': 30, 'city': 'New York'}

# 写入JSON文件
with open('data.json', 'w') as file:
    json.dump(data, file)

二、CSV和TSV文件操作

2.1 什么是CSV和TSV?

CSV(逗号分隔值)和TSV(制表符分隔值)是常用的纯文本文件格式,用于存储表格数据。

CSV文件使用逗号作为字段分隔符,而TSV文件使用制表符。这两种格式在数据导出和导入中很常见。

2.2 读取CSV和TSV文件

Python的csv模块允许读取和写入CSV和TSV文件。

读取CSV文件的示例:

import csv

# 读取CSV文件
with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

2.3 写入CSV和 TSV文件

要将数据写入CSV文件,可以使用csv.writer。

将数据写入CSV文件的示例:

import csv

data = [['Name', 'Age'], ['Alice', 25], ['Bob', 30], ['Charlie', 35]]

# 写入CSV文件
with open('data.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

三、Excel文件操作

3.1 什么是Excel文件?

Excel是一种流行的电子表格应用程序,用于处理和分析数据。

在Python中,可以使用第三方库openpyxl来读取和写入Excel文件。

3.2 读取Excel文件

使用openpyxl库读取Excel文件的示例:

import openpyxl

# 读取Excel文件
workbook = openpyxl.load_workbook('data.xlsx')
sheet = workbook.active

for row in sheet.iter_rows():
    for cell in row:
        print(cell.value)

3.3 写入Excel文件

要将数据写入Excel文件,同样可以使用openpyxl库。

将数据写入Excel文件的示例:

import openpyxl

data = [['Name', 'Age'], ['Alice', 25], ['Bob', 30], ['Charlie', 35]]

# 写入Excel文件
workbook = openpyxl.Workbook()
sheet = workbook.active

for row in data:
    sheet.append(row)

workbook.save('data.xlsx')

四、Pickle文件序列化

4.1 什么是Pickle?

Pickle是Python的标准模块,用于将Python对象序列化为二进制数据。允许将对象保存到文件中,以便稍后恢复。Pickle对于保存复杂的数据结构非常有用。

4.2 序列化对象

使用Pickle将对象序列化为文件的示例:

import pickle

data = {'name': 'John', 'age': 30, 'city': 'New York'}

# 序列化对象并保存到文件
with open('data.pkl', 'wb') as file:
    pickle.dump(data, file)

4.3 反序列化对象

要从Pickle文件中加载对象,可以使用pickle.load()方法。

反序列化对象的示例:

import pickle

# 从文件加载对象
with open('data.pkl', 'rb') as file:
    loaded_data = pickle.load(file)

# 使用加载的数据
print(loaded_data)

总结

文件操作是Python编程中的重要部分,涉及处理各种文件格式,包括JSON、CSV、TSV、Excel和Pickle。

文章内容包括如何读取和写入这些文件格式,以及如何进行文件序列化和反序列化。这些技能对于处理数据、配置文件、日志等任务非常重要,因此在Python编程中是不可或缺的。

---------------------------END---------------------------

题外话

感谢你能看到最后,给大家准备了一些福利!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python兼职渠道推荐*

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

Python机器学习数据读取:多源异构数据统一加载方案 在机器学习工程中,数据读取(Data Ingestion)是模型训练前的关键预处理环节,其本质是将CSV、JSON、数据库、Parquet等异构格式的原始字节流,经IO解析、类型转换、模式校验后,可靠转化为结构化DataFrame或张量。该过程涉及编码处理、内存管理、流式解析与Schema一致性保障等底层机制,直接影响特征复现性与线上稳定性。尤其在生产环境中,面对TB级日志、嵌套JSONL、时区敏感时间戳及动态类型漂移等挑战,仅依赖pandas.read_csv极易引发ValueError、UnicodeD 阅读详情

相关推荐

【零基础入门】一篇弄懂tsv、csv、xls等文件类型区别及处理(python版)

考虑到进行机器学习、深度学习训练、预测时我们不免接触到许许多多的数据,而这些数据又以不同的格式存在(主要有csv、xls、tsv三种格式),所以本文就想来讲讲这三种格式数据的转化、阅读、处理

十二月的猫 1万+

TSV文件与CSV文件的区别

================= tsv与csv文件 TSV ,Tab-separated values ,制表符分隔值。 CSV,Comma-separated values,逗号分隔值。(CSV更为常见) TSV与CSV的区别: 1)从名称上即可知道,TSV是用制表符(tab,’\t’)作为字段值的分隔符;CSV是用半角逗号(’,’)作为字段值的分隔符; 2)IANA规定的标准TSV格式,字段值之中是不允许出现制表符的。 Python对TSV文件的支持: Python的csv模块准确的讲应该...

Fighting Hua 6693

python读取.tsv文件例子(大文件处理)

TSV(Tab-separated values)文件是一种文本文件格式,它使用制表符作为字段之间的分隔符。每行代表一个数据记录,每个记录中的字段使用制表符分隔。TSV文件通常用于存储和交换数据,可被许多软件应用程序读取和处理,如电子表格软件和数据库管理系统。与CSV文件相比,TSV文件更容易处理包含逗号的数据,因为逗号在某些情况下可能被错误地解释为字段分隔符。

猿小白的博客 4266

.tsv和.csv的区别和读取(python)

TSV (Tab-Separated Values): TSV 文件则使用制表符 \t 作为字段分隔符。相比CSV,TSV更适合于包含大量文本数据的表格,特别是当这些文本中可能包含逗号时,因为制表符在文本中出现的频率较低,能减少数据解析的歧义。CSV (Comma-Separated Values): CSV 文件使用逗号 , 作为字段(列)之间的分隔符。在Python中,读取这两种文件通常使用pandas库,因为它提供了简单且功能强大的数据处理接口。首先,确保你的环境中安装了pandas库。

Sarah ~ 1126

Python文件操作(json、csv、tsv、excel、pickle文件序列化)

1. 文件类型 1.1 曾经遇到的坑 1.2 文本文件 vs. 二进制文件 1.3 Linux file命令 2. 文件读写 2.1 普通文本文件 2.2 json文件 2.2.1 原生json库 2.2.2 pandas.read_json 2.3 csv、tsv等格式文件 2.4 excel文件 2.5 文件序列化 2.6 读取大文件 3. 文件路径迭代 3.1 os.walk 3.2 glob 4. 对输入文件名(argv)进行处理 5. 文件内容搜索 5.1 逐行遍历匹配内容............

herosunly的博客 1万+

Python数据分析实战:多格式数据加载与pandas工程化处理

数据加载是数据分析的第一道关卡,涉及CSV、Excel、HDF5、TSV、JSON、Pickle等多种格式的兼容性与鲁棒性处理。其核心原理在于理解pandas底层IO机制——编码识别、分隔符推断、类型自动转换及缺失值语义定义。技术价值体现在规避乱码、链式赋值警告、时间对齐失真、中文渲染失效等高频工程陷阱,显著提升脚本复用性与团队协作效率。典型应用场景包括人口统计分析、城市气象时序建模、手写数字识别预处理等真实业务流水线。本资源以可运行的Jupyter Notebook为载体,覆盖从原始数据读入到清洗、转换、

weixin_29055699的博客 233

TSV文件、CSV文件

TSV是Tab-separated values(制表符分隔值)缩写,即制表符分隔值。CSV是Comma-separatedvalues(逗号分隔值)缩写,使用场景更常见。TSV文件和CSV文件都是可以储存表格数据的文本格式。TSV文件和CSV文件也有很大的区别:a) 分隔符不同:TSV是用制表符(Tab,'\t')作为字段值的分隔符;CSV是用半角逗号(',')作为字段值的分隔符;b)IANA规定的标准TSV格式,字段值之中是不允许出现制表符的。

qq_44491902的博客 3169

大模型训练(1):流水线并行

Gpipe的方法是,在训练时计算和运用的是micro-batch里的均值和方差,但同时持续追踪全部mini-batch的移动平均和方差,以便在测试阶段进行使用。流水线并行的核心思想是:在模型并行的基础上,进一步引入数据并行的办法,即把原先的数据再划分成若干个更小的batch,分批送入GPU进行训练,算一部分就让下一个GPU动起来。从实验结果可知,在关掉NVlinks的情况下,Gpipe一样也能实现随着GPU数量的增加,训练速度也增加的效果。前文说过,随着模型的增加,每块GPU中存储的中间结果也会越大。

呆呆象呆呆的博客 1970

python 文件操作(二)之读写.npy;txt,tsv,csv,excel;json文件等

一、读写.npy文件 import csv import pandas as pd import numpy as np import sys # 读取文件 entity_emb = np.load('../data/DRKG_TransE_l2_entity.npy') rel_emb = np.load('../data/DRKG_TransE_l2_relation.npy') # 将数组中数据写入到.txt文件 np.savetxt("./entity2vec.txt",entity_em

Qy_sfsh的博客 2765

CorelDRAW 2019安装指南:从下载到激活的完整步骤

本文提供了一份详细的CorelDRAW 2019安装指南,涵盖从下载安装包、检查系统环境到完成激活的完整步骤。文章重点解析了安装过程中的关键选项设置,并分享了首次启动后的优化配置与常见问题解决方案,旨在帮助用户高效、顺利地完成这款经典矢量设计软件的安装与配置。

weixin_29213827的博客 835

(SCADA)监控与数据采集系统

SCADA应用于监控和采集数据来控制工业过程软件。它通过收集和传输实时数据,帮助操作员监视和控制各种设备和过程。

软件技术的专栏 4544

scientific-agent-skills 之 EDA 通用科学格式:CSV/JSON/NumPy/HDF5 有界检查与统计严谨性完整指南

本指南基于 [scientific-agent-skills](https://link.gitcode.com/i/c3d3e4b66fef569317975c69c805295e) 仓库中 `exploratory-data-analysis` 技能(下称 EDA 技能)的格式权威参考文档 [general_scientific_formats.md](https://link.gitcode

gitblog_00099的博客 313

告别偏色!手把手教你用i1Profiler 3.5为喷墨打印机制作专属ICC曲线(附D50/D65光源选择指南)

本文详细介绍了如何使用i1Profiler 3.5为喷墨打印机制作专属ICC曲线,解决设备偏色问题。从色彩管理基础、软件配置到色块打印与测量实战技巧,逐步指导用户完成曲线制作,并提供了D50/D65光源选择指南,确保色彩还原精准。适合摄影师和设计师提升打印质量。

weixin_30613343的博客 1万+

Python字符串转字节:Unicode与字节流的精准映射原理

字符串与字节是Python中两类根本不同的数据类型,其转换本质是Unicode字符语义到机器可执行字节序列的确定性映射。该过程遵循‘显式编码、隐式解码必报错’的核心哲学,涉及编码标准(如UTF-8、GBK)、错误处理策略(strict/replace/xmlcharrefreplace)及BOM等底层细节。理解这一映射对解决文件乱码、网络请求失败、JSON解析异常、日志丢失等高频工程问题至关重要。本文聚焦str.encode()的内存行为、查表逻辑与生产级容错实践,覆盖从Web表单提交、CSV生成到Sock

angou6476的博客 463

Qt 5.12.8在Linux下编译qtvirtualkeyboard模块,我踩过的那些坑(附完整解决方案)

本文详细介绍了在Linux系统下为Qt 5.12.8单独编译qtvirtualkeyboard模块的完整解决方案。通过分析模块缺失原因、提供精准的编译步骤和常见问题处理,帮助开发者高效解决虚拟键盘模块缺失问题,避免重新编译整个Qt源码的繁琐过程。

weixin_29248611的博客 458

嵌入式SPI总线抽象设计:跨平台驱动与分层解耦实践

SPI(串行外设接口)是嵌入式系统中应用最广泛的同步串行通信协议,其核心价值在于高吞吐、低开销与硬件简洁性。其工作原理基于主从架构、全双工/半双工时序及片选(CS)控制,依赖CPOL/CPHA组合定义四种标准模式。在工程实践中,SPI常面临硬件资源受限、多外设共用总线、MCU平台迁移等挑战,导致驱动复用率低、维护成本高。通过结构体+函数指针实现的分层抽象——将物理总线、协议适配与设备驱动解耦,可显著提升代码可移植性与扩展性。该方法天然支持硬件SPI与GPIO模拟SPI双模式切换,并已在STM32等主流MCU

weixin_42601134的博客 60

my-tv 免费电视直播软件:电视盒子遥控器换台与数字选台完整指南

my-tv 是一款面向 Android TV 与电视盒子的免费电视直播软件:安装后即可看央视、卫视直播,无需注册账号、无需配置播放源,用遥控器就能完成换台和数字选台。下面按真实使用顺序,从装前确认、安装、遥控操作到排障,一次讲完。 ## 一个常见痛点:盒子装了应用,却缺一个能换台的直播入口 很多家庭把电视盒子当电视用,装上几个应用后发现:看网页可以,看直播却总要先点开 App、忍受加载和广告,

gitblog_00014的博客 390

Calibre PEX提取HSPICE网表时如何避免‘net 0‘错误?实测解决方案分享

本文详细解析了Calibre PEX提取HSPICE网表时出现的'net 0'错误,提供了从规则文件修改到网表后处理的四步解决方案。通过实战案例和进阶调试技巧,帮助工程师有效避免节点映射错误,确保后仿真精度。特别针对SPICE netlist生成机制提出了优化建议。

weixin_29279153的博客 387

Ludwig 代码库改善计划全解析:问题清单、分阶段 PR 路线图与当前仓库实施进度追踪

`IMPROVEMENT_PLAN.md` 是 Ludwig 开源仓库于 2026-05-16 基于全量代码审查(约 110k 行、约 400 个文件)产出的**代码库健康诊断与工程化改造路线图**:它先给出宏观结论——Ludwig 的 Backend 抽象、模块化 encoder/decoder 注册表、schema 驱动的配置系统设计良好;再把矛头对准"中层"问题,指出少数文件正在膨胀成 go

gitblog_00110的博客 318

自动驾驶算法-滤波器系列(三)——不同运动模型(CV、CA、CTRV、CTRA)的建模和推导

CV & CA & CTRV & CTRA1. CV模型2. CA模型3. CTRV模型4. CTRA模型 1. CV模型 2. CA模型 3. CTRV模型 4. CTRA模型

weixin_41480034的博客 2万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

csv,tsv,txt文件类型区别

csv,tsv,txt 文件类型区别 tsv 和 csv 都是文本文件。 tsv, 是Tab-separated values的缩写,用制表符(Tab,’\t’)作为字段值的分隔符。 csv,Comma-separated values,用半角逗号(’,’)作为字段值的分隔符。 txt格式转csv格式 如果每行数据中都是用逗号分隔的,直接把文件名后缀txt改成csv就行了。 不是的话可以把打开txt文件吧全部内容复制后,打开一个excel空白表,在最左上角格内粘贴,选中第一列,点上面菜单–数据–分列,可以按

打孔员的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

tsv文件怎么用Excel打开具体打开方法教程

tsv文件怎么用Excel打开具体打开方法教程

qq_53298558的博客 2万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

tsv文件与csv文件的区别以及如何转换

1 csv文件:逗号分隔符文件,可以使用excel打开。逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值。2 tsv文件:制表符Tab分隔文件,可二以使用文本文档打开。

qq_43588670的博客 4355

.tsv .csv格式文件

TSV 是Tab-separated values的缩写,即制表符分隔值。 CSV,Comma-separated values(逗号分隔值)。 TSV是用制表符(Tab,’\t’)作为字段值的分隔符; CSV是用半角逗号(’,’)作为字段值的分隔符; 注意:IANA规定的标准TSV格式,字段值之中是不允许出现制表符 Python对TSV文件的支持: Python的csv模块准确的讲应该

小倔驴 2万+
上一篇: Python解析YAML: PyYAML详解
下一篇: Python 哈希表的实现——字典
Python_P叔
博客等级 码龄3年 5451粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值