2023年11月11日~11月17日周报(基于matlab生成模拟数据、批量修改文件名、重写dataset)

目录

一、前言

二、基于matlab生成模拟数据

二、批量修改文件名

三、代码调试

四、重写dataset


一、前言

        上周完成了FCNVMB的训练与测试,但是由于数据量较少,训练效果不明显。工作站运行forward.py代码生成模拟数据的时候出现错误,未解决。

        本周计划使用matlab生成大量模拟数据,再进行训练查看训练效果,同时学习如何重写dataset。

二、基于matlab生成模拟数据

        单个速度模拟文件计算多炮数据:

         forward函数所需参数:①vfile:存放速度模型的文件目录;②outfile:存放正演地震数据的文件目录;③sn:炮数

        [MATLAB] fullfile函数介绍:

        函数功能:将多个字符串拼接为文件路径。

        语法格式:f = fullfile(filepart1,filepart2,…,filepartN)

        输出:将各个输入用"\"拼接起来;即:f = ‘filepart1\filepart2\…\filepartN’。

三、批量修改文件名

        由于粗心,不小心将“georec”打成了“geroec”,因此使用matlab进行批量修改。错误情况:

        代码如下:

% 可以直接将该脚本创建在待需要修改的文件夹下
path='******' % 输入带修改文件夹的地址
cd(path)% 循环遍历所有文件
for i = 1:800% 获取第i个文件名oldname = ['geroec',num2str(i),'.mat']% 打印原文件名,查看是否有错disp(oldname)% 将一个文件的完整路径中各部分提取出来[filepath,name,ext] = fileparts(oldname)% 进行重命名newname = ['georec',name(7:end),'.mat']% 打印新文件名,查看是否有错disp(newname)% MATLAB重命名文件函数movefile(oldname,newname)
end

        [MATLAB] fileparts函数介绍:

        函数功能:将一个文件的完整路径中各部分提取出来。

        语法格式:[pathstr, name, ext] = fileparts(filename)

        其中,filename是需要解析的文件的完整路径。fileparts将这个文件名(包含完整路径信息)各部分分别提取到三个变量中。pathstr是这个文件的路径名,name是文件名,ext是包含一个点号文件的扩展名(指定文件的类型)。

四、代码调试

        本次调试培训模拟数据的规模Trainsize=800,迭代轮数epoch=100,测试规模为Testsize=50。

        Trainloss与Prediction如下图所示。

五、重写dataset

        OpenFWI数据与代码:Open FWI | A collection of benchmark datasets for Seismic FWI with Machine Learning

         在进行研究的时候,如果不想用pytorch自带的数据集,想加载自己的数据集,就需要通过重写一个继承了Datasets的MyDataSet类来放置自己的数据集。在之前经常调用torchvision库中的数据集对象直接获取常用的数据集,例如:torchvision.datasets.CIFAR10(),这样获得的一个DataSet对象属于 torch.utils.data.Dataset 类,将获得的Dataset对象后传入DataLoader就可以实现加载批量数据参与训练了。

        MyDataSet中需要重写三个函数,如下:

from torch.utils.data import Datasetclass MyDataset(Dataset):    #继承Datasets# 初始化函数:加载数据-初始化文件路径与文件名列表等,完成初始化该类的一些基本参数def __init(self):pass# 按照索引读取每个元素的具体内容,对数据进行预处理def __getitem__(self, idx):    # 按照索引读取每个元素的具体内容pass# 初始化一些需要传入的参数及数据集的调用,返回的是数据集的长度def __len__(self):pass

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/189001.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字化时代,VR全景如何助力商企抢占市场份额?

随着5G技术的逐步落地,VR全景已经开始逐渐被应用到各行各业中了,VR餐饮、VR房产、VR景区、VR工厂、VR学校、VR博物馆等等,甚至大家所熟悉的汽车之家中的全景看车、贝壳和链接的全景看房等,所应用的都是VR全景的形式。 前几年电商对…

各机构如何加强网络渗透、“渗透”防御

数据渗透,例如黑客攻击和“渗透”,或未经授权的信息传输。 联邦调查局、国家安全局以及网络安全和基础设施安全局最近的联合报告证明,网络安全仍然是当今国防部门面临的两个最大的网络威胁。 所谓的零日攻击尤其有害,因为组织在…

单因素方差分析(one-way analysis of variance)【R实现,用例题帮你更好理解】

1, data00403 thorax 是四种昆虫的胸长,采用合适的统计方法,检验不同种类的 胸长有无差异?如果有差异,哪种之间有差异?(说明选用依据) #看样本量,n1n2n3n428 #看方差齐性。各组之间符…

基于Pytorch的从零开始的目标检测

引言 目标检测是计算机视觉中一个非常流行的任务,在这个任务中,给定一个图像,你预测图像中物体的包围盒(通常是矩形的) ,并且识别物体的类型。在这个图像中可能有多个对象,而且现在有各种先进的技术和框架来解决这个问…

用Java实现贪吃蛇小游戏

一、创建新项目 首先创建一个新的项目,并命名为贪吃蛇。 其次在贪吃蛇项目下创建一个名为images的文件夹用来存放游戏相关图片。 然后再在项目的src文件下创建一个com.xxx.view的包用来存放所有的图形界面类,创建一个com.xxx.controller的包用来存放启…

nginx学习(2)

Nginx 反向代理案例2 1. 实现效果 实现效果:使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中 nginx 监听端口为 8001, 访问 http://127.0.0.1:8001/edu/ 直接跳转到 127.0.0.1:8081 访问 http://127.0.0.1:8001/vod/ 直接跳转到 …

第六十二周周报

学习目标: 一、实验 二、论文 学习时间: 2023.11.11-2023.11.17 学习产出: 实验 1、CB模块实验效果出来了,加上去效果不太行,后续实验考虑是否将CB模块换到其他地方 2、CiFAR100实验已完成,效果比Vi…

场景交互与场景漫游-osgGA库(5)

osgGA库 osgGA库是OSG的一个附加的工具库,它为用户提供各种事件处理及操作处理。通过osgGA库读者可以像控制Windows窗口一样来处理各种事件 osgGA的事件处理器主要由两大部分组成,即事件适配器和动作适配器。osgGA:GUIEventHandler类主要提供了窗口系统的…

基于SSM的智能仓储系统研究与设计

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

C++--STL总结

参考教程:黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili 软件界一直希望建立一种可重复利用的东西,C的面向对象和泛型编程思想,目的就是复用性的提升。 大多情况下,数据结构和算法都未能有一套标准,…

python趣味编程-5分钟实现一个F1 赛车公路游戏(含源码、步骤讲解)

Python 中的 F1 赛车公路游戏及其源代码 F1 Race Road Game是用Python编程语言开发的,它是一个桌面应用程序。 这款 Python 语言的 F1 赛道游戏可以免费下载开源代码,它是为想要学习 Python 的初学者创建的。 该项目系统使用了 Pygame 和 Random 函数。 Pygame 是一组跨平…

Flutter笔记: 在Flutter应用中使用SQLite数据库

Flutter笔记 在Flutter应用中使用SQLite数据库(基于sqflite) 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/q…