Python中读写文件

1.numpy

在实际应用中,.npy文件常用于保存数据集、模型权重和其他NumPy数组。

#使用NumPy读取张量
import numpy as np

# 从文件中加载张量
tensor = np.load('tensor.npy')

# 打印张量的形状和内容
print(tensor.shape)
print(tensor)

---------------------------
#使用NumPy写入张量

import numpy as np

# 创建一个张量
tensor = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 将张量写入文件
np.save('tensor.npy', tensor)

2.pytorch 

.pt是PyTorch默认的文件扩展名,用于保存PyTorch模型、张量和其他

#使用PyTorch读取张量
import torch

# 从文件中加载张量
tensor = torch.load('tensor.pt')

# 打印张量的形状和内容
print(tensor.shape)
print(tensor)

------------------------
#使用PyTorch写入张量
import torch

# 创建一个张量
tensor = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 将张量写入文件
torch.save(tensor, 'tensor.pt')

3.加载保存模型参数

  1. 保存模型参数:使用torch.save()函数将模型的参数保存到文件中,例如:

    torch.save(model.state_dict(), 'model_params.pt')
    

    这里,model是已经定义好的模型对象,model.state_dict()方法可以获得模型当前的参数状态字典,将其保存到名为model_params.pt的文件中。

  2. 加载模型参数:使用torch.load()函数从文件中加载模型的参数,例如:

    model.load_state_dict(torch.load('model_params.pt'))
    

    这里,model是已经定义好的模型对象,torch.load()函数从名为model_params.pt的文件中加载参数,然后使用model.load_state_dict()方法将参数加载到模型中。

  3. 整体过程:在加载模型参数之前,我们需要创建一个与先前保存的模型相同体系结构的模型实例。

    class MyModel(nn.Module):
        def __init__(self):
            super(MyModel, self).__init__()
            self.conv1 = nn.Conv2d(3, 64, kernel_size=3, stride=1, padding=1)
            self.pool1 = nn.MaxPool2d(kernel_size=2, stride=2)
            self.conv2 = nn.Conv2d(64, 128, kernel_size=3, stride=1, padding=1)
            self.pool2 = nn.MaxPool2d(kernel_size=2, stride=2)
            self.fc1 = nn.Linear(128 * 8 * 8, 512)
            self.fc2 = nn.Linear(512, 10)
    
        def forward(self, x):
            x = F.relu(self.conv1(x))
            x = self.pool1(x)
            x = F.relu(self.conv2(x))
            x = self.pool2(x)
            x = x.view(-1, 128 * 8 * 8)
            x = F.relu(self.fc1(x))
            x = self.fc2(x)
            return x
    
    model = MyModel()  # 创建模型实例
    model.load_state_dict(torch.load('model_params.pt'))  # 加载模型参数
    #model是已经定义好的模型对象,torch.load()函数从名为model_params.pt的文件中加载参数,然后使用model.load_state_dict()方法将参数加载到模型中。
    

    在这个示例中,我们首先定义了MyModel类来定义我们的模型体系结构。然后我们实例化这个模型类来创建我们的模型实例。最后,我们使用load_state_dict方法将模型参数加载到模型中。

    注意:在加载模型参数之前,确保创建的模型与保存参数的模型具有相同的体系结构和超参数。

4.scipy.io是SciPy库中的一个子模块,提供了读取和写入各种文件格式的函数,包括Matlab的.mat文件

import scipy.io as sio

data = sio.loadmat('data.mat')  # 读取.mat文件

--------------------------------------------------------
import scipy.io as sio
import numpy as np

data = np.array([[1, 2], [3, 4]])
sio.savemat('data.mat', {'data': data})  # 保存.mat文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值