机器学习之MATLAB代码--LSTM-SVRNN(五)

news2024/11/26 21:23:41

机器学习之MATLAB代码--LSTM-SVRNN(五)

  • 代码
    • 数据
      • 结果

代码

1、cdmnn.m文件

%% 组合模型
%%
%% 数据导入
clc;clear;warning off;
data= xlsread('nndata.xlsx', 'sheet1', 'A2:G350');
load LSTMoutput
load SVMoutput
%% 
nwhole=length(data);   
%计算数据长度
train_ratio=0.90;
ntrain=round(nwhole*train_ratio);
ntest =nwhole-ntrain;
R_train    = output_train;
LSTM_train = LSTMoutput_train';
SVM_train  = SVMoutput_train;
R_test     = output_test;
LSTM_test  = LSTMoutput_test';
SVM_test   = SVMoutput_test;
%% CDM
% 产生初始解
W0=[0.5;0.5]; 
LPA=[];
LPB=[];
% 权重等式约束
Aeq=[1 1];
Beq=1;
LB=zeros(2,1);
UB=[1;1];
NONLCON=[];
options = optimset;
[W_train,E_train] = fmincon(@(W)ObjectFunction(W,R_train,LSTM_train,SVM_train),W0,LPA,LPB,Aeq,Beq,LB,UB,NONLCON,options);
[W_test,E_test]   = fmincon(@(W)ObjectFunction(W,R_test,LSTM_test,SVM_test),W0,LPA,LPB,Aeq,Beq,LB,UB,NONLCON,options);
fprintf('W_LSTM_test=%f,W_SVM_test=%f',W_test(1),W_test(2))
C_test =W_test(1)*LSTM_test  +W_test(2)*SVM_test;
fprintf('\n\n');
%-------------------------------------------------------------------------------------
%%
%% 数据输出
%-------------------------------------------------------------------------------------
disp("——————组合模型预测结果——————————")
%误差计算
LSTM_error_test    = LSTM_test -R_test;
LSTM_pererror_test = LSTM_error_test./R_test;
SVM_error_test     = SVM_test -R_test;
SVM_pererror_test  = SVM_error_test./R_test;
C_error_test       = C_test -R_test;
C_pererror_test    = C_error_test./R_test;
disp("组合模型预测值   真实值  组合模型误差 组合模型相对误差 ")
disp([C_test  R_test C_error_test C_pererror_test])
%-------------------------------------------------------------------------------------   
% 指标分析
LSTM_error = LSTM_error_test';
 SVM_error = SVM_error_test';
   C_error = C_error_test';

LSTM_MAE = sum(abs(LSTM_error))/(ntest);
 SVM_MAE = sum(abs( SVM_error))/(ntest);
   C_MAE = sum(abs( C_error))/(ntest);

 LSTM_pererror  = LSTM_pererror_test';
  SVM_pererror  = SVM_pererror_test'; 
    C_pererror  =  C_pererror_test';
   
LSTM_MAPE=sum(abs(LSTM_pererror))/(ntest);    
 SVM_MAPE=sum(abs( SVM_pererror))/(ntest);
   C_MAPE=sum(abs(   C_pererror))/(ntest); 

LSTM_MSE  = mse(LSTM_error);   
 SVM_MSE  = mse(SVM_error);   
   C_MSE  = mse(C_error);

LSTM_RMSE = sqrt(mean((LSTM_error).^2));
 SVM_RMSE = sqrt(mean(( SVM_error).^2));
   C_RMSE = sqrt(mean(( C_error ).^2));

disp('预测绝对平均误差MAE');
disp('LSTM  SVM 组合模型');
disp([LSTM_MAE  SVM_MAE  C_MAE]); 
disp('预测平均绝对误差百分比MAPE');
disp('LSTM  SVM 组合模型');
disp([LSTM_MAPE  SVM_MAPE  C_MAPE]); 
disp('预测均方误差MSE')
disp('LSTM  SVM 组合模型');
disp([LSTM_MSE  SVM_MSE  C_MSE]); 
disp('预测均方根误差RMSE')
disp('LSTM  SVM 组合模型');
disp([LSTM_RMSE  SVM_RMSE  C_RMSE]); 
%-------------------------------------------------------------------------------------
%% 数据可视化分析
%%
%测试数据 模型对比
%-------------------------------------------------------------------------------------
figure();
plot(LSTM_test,':.','Color',[128 0 255]./255,'linewidth',0.8,'Markersize',3)    %测试数据分析
hold on
plot(SVM_test, ':*','Color',[64 255 64]./255,'linewidth',0.8,'Markersize',3)    %测试数据分析
hold on
plot(C_test,':+','Color',[255 64 64]./255,'linewidth',0.8,'Markersize',3)       %测试数据分析
hold on
plot(R_test','k--')                                                             %实际数据分析
legend('LSTM预测测试数据','SVM预测测试数据','组合预测测试数据','实际分析数据','Location','NorthWest','FontName','宋体');
string2 = {'网络模型结果及真实值'};
title(string2,'fontsize',12,'FontName','宋体')
xlabel('时间','fontsize',12,'FontName','宋体');
ylabel('数值','fontsize',12,'FontName','宋体');
%-------------------------------------------------------------------------------------
figure()
%误差
plot(LSTM_error_test,':.','Color',[128 0 255]./255,'linewidth',0.8,'Markersize',3)   
hold on
plot(SVM_error_test, ':*','Color',[64 255 64]./255,'linewidth',0.8,'Markersize',3)   
hold on
plot(C_error_test,':+','Color',[255 64 64]./255,'linewidth',0.8,'Markersize',3)             
legend('LSTM测试误差','SVM测试误差','组合测试误差','Location','NorthWest','FontName','宋体');
title('网络预误差','fontsize',12,'FontName','宋体')
ylabel('误差','fontsize',12,'FontName','宋体')
%-------------------------------------------------------------------------------------
figure()
plot(LSTM_pererror_test,':.','Color',[128 0 255]./255,'linewidth',0.8,'Markersize',3)   
hold on
plot(SVM_pererror_test, ':*','Color',[64 255 64]./255,'linewidth',0.8,'Markersize',3)   
hold on
plot(C_pererror_test,':+','Color',[255 64 64]./255,'linewidth',0.8,'Markersize',3)             
legend('LSTM测试相对误差','SVM测试相对误差','组合测试相对误差','Location','NorthWest','FontName','宋体');
title('网络预测相对误差','fontsize',12,'FontName','宋体')
ylabel('误差','fontsize',12,'FontName','宋体')
xlabel('样本','fontsize',12,'FontName','宋体')
%-------------------------------------------------------------------------------------


2、funlstm.m文件

function [LSTMoutput_train,output_train,LSTMoutput_test,output_test,nwhole] = funlstm(data,train_ratio)

input =data(:,1:6)';
output=data(:,7)';
nwhole= length(data);
ntrain=round(nwhole*train_ratio);
ntest =nwhole-ntrain;
% 准备输入和输出训练数据
input_train =input(:,1:ntrain); 
output_train=output(:,1:ntrain);
% 准备测试数据
input_test =input (:,ntrain+1:ntrain+ntest); 
output_test=output(:,ntrain+1:ntrain+ntest); 

%% 归一化(全部特征 均归一化)
[inputn_train,inputps]=mapminmax(input_train);
[outputn_train,outputps]=mapminmax(output_train);
inputn_test=mapminmax('apply',input_test,inputps); 
%% LSTM 层设置,参数设置
inputSize =  size(inputn_train,1);         %数据输入x的特征维度
outputSize = size(outputn_train,1);       %数据输出y的维度  
numhidden_units1=10*inputSize;
numhidden_units2=120;
numhidden_units3=20*outputSize;

%% lstm
layers = [ ...
    sequenceInputLayer(inputSize)                 %输入层设置
    lstmLayer(numhidden_units1,'name','hidden1')  %学习层设置(cell层)
    dropoutLayer(0.2,'name','dropout_1')
    lstmLayer(numhidden_units2,'Outputmode','sequence','name','hidden2') 
    dropoutLayer(0.3,'name','dropout_2')
    lstmLayer(numhidden_units3,'name','hidden3') 
    dropoutLayer(0.2,'name','dropout_3')
    fullyConnectedLayer(outputSize)                 % 全连接层设置(影响输出维度)
    regressionLayer('name','out')];
%% trainoption(lstm)
opts = trainingOptions('adam', ...
    'MaxEpochs',400, ...
    'GradientThreshold',1,...
    'ExecutionEnvironment','cpu',...
    'InitialLearnRate',0.005, ...
    'LearnRateSchedule','piecewise', ...
    'LearnRateDropPeriod',200, ...  
    'LearnRateDropFactor',0.8, ... 
    'Verbose',0, ...
    'Plots','training-progress'... 
    );
%% LSTM网络训练
%%
tic
LSTMnet = trainNetwork(inputn_train,outputn_train,layers,opts);
toc;
[LSTMnet,LSTMoutputr_train]= predictAndUpdateState(LSTMnet,inputn_train);
LSTMoutput_train   = mapminmax('reverse',LSTMoutputr_train,outputps);


%% LSTM测试数据
%%
%网络测试输出
[~,LSTMoutputr_test] = predictAndUpdateState(LSTMnet,inputn_test);
%网络输出反归一化
LSTMoutput_test= mapminmax('reverse',LSTMoutputr_test,outputps);

end


3、lstmnn.m文件

%%
clc;clear;
warning off;
%导入数据
data= xlsread('nndata.xlsx', 'sheet1', 'A2:G350');
train_ratio=0.90;
[LSTMoutput_train,output_train,LSTMoutput_test,output_test,nwhole] = funlstm(data,train_ratio);
LSTMoutput_train   = double(LSTMoutput_train);
output_train       = double(output_train);
LSTMoutput_test    = double(LSTMoutput_test);
output_test        = double(output_test);
ntrain = round(nwhole*train_ratio);
ntest  = nwhole-ntrain;

%数据保存
save('LSTMoutput.mat','LSTMoutput_train','output_train','LSTMoutput_test','output_test','-double')
%-------------------------------------------------------------------------------------
error_test=LSTMoutput_test'-output_test';
pererror_test=error_test./output_test';
%% LSTM数据可视化分析
%%
%-------------------------------------------------------------------------------------
%测试数据
figure()
plot(LSTMoutput_test,'r:.')         %测试数据分析
hold on
plot(output_test,'k--')                %实际数据分析
legend('预测测试数据','实际分析数据','Location','NorthWest','FontName','宋体');
title('LSTM网络模型结果及真实值','fontsize',12,'FontName','宋体')
xlabel('时间','fontsize',12,'FontName','宋体');
ylabel('数值','fontsize',12,'FontName','宋体');
h = gca;
h.FontName = 'Meiryo UI';
h.FontSize = 10;
%-------------------------------------------------------------------------------------
figure()
stem(error_test,'fill','Color',[128 100 255]./255,'linewidth' ,0.8,'Markersize',3)
legend('LSTM网络训练误差','LSTM网络测试误差','Location','NorthEast','FontName','宋体')
title('LSTM网络预测误差','fontsize',12,'FontName','宋体')
ylabel('误差','fontsize',12,'FontName','宋体')
xlabel('样本','fontsize',12,'FontName','宋体')
h = gca;
h.FontName = 'Meiryo UI';
h.FontSize = 10;
%-------------------------------------------------------------------------------------
figure()
stairs(pererror_test,'-.','Color',[255 50 0]./255,'linewidth',0.7)        
legend('LSTM网络测试相对误差','Location','NorthEast','FontName','宋体')
title('LSTM网络预测相对误差','fontsize',12,'FontName','宋体')
ylabel('误差','fontsize',12,'FontName','宋体')
xlabel('样本','fontsize',12,'FontName','宋体')
h = gca;
h.FontName = 'Meiryo UI';
h.FontSize = 10;
%-------------------------------------------------------------------------------------

4、ObjectFunction.m文件

function  E= ObjectFunction(W,R,LSTM,SVM)
E=sum((R-(W(1)*LSTM+W(2)*SVM)).^2);
end

% %,R,SGM,SVM
% [X,FVAL,EXITFLAG,OUTPUT,LAMBDA] = fmincon(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON) % 统一形式
% [X,FVAL,EXITFLAG,OUTPUT,LAMBDA] = fmincon(F,X0,A,B,Aeq,Beq,LB,UB,NONLCON)   % 线性目标函数,包含非线性约束
% [X,FVAL,EXITFLAG,OUTPUT,LAMBDA] = fmincon(@(X)MYOBJ(X),X0,A,B,Aeq,Beq,LB,UB,@(X)MYCON(X)) % 自己定义目标函数和非线性约束函数
% % 目标函数
% function F = MYOBJ(X)
%          F = ......
% % 非线性约束函数
% function [G,Heq] = MYCON(X)
%          G = .....   % 非线性不等式约束条件
%        Heq = .....   % 非线性等式约束条件
%%
% 输入变量
% FUN 为目标函数,可以自己定义,输入变量X,输出目标值
% X0 为初始解
% A 为不等式约束系数矩阵(注意默认不等式方向为小于等于,若为大于等于,需要将其取相反数)
% B 为不等式右端常数向量(注意默认不等式方向为小于等于,若为大于等于,需要将其取相反数)
% Aeq 为等式约束系数矩阵
% Beq 为等式右端常数向量
% LB 为决策变量下界向量
% UB为决策变量上界向量
% NONLCON 为非线性约束,可以自己定义,其中包括非线性不等式约束,非线性等式约束两种约束。输入变量X,输出不等式计算值,等式计算值
% 在调用时,输入参数不存在时,可以将其输入用 [] 空矩阵表示。
% 
% 输出变量
% X 为最优解
% FVAL 为最优目标值
% EXITFLAG 为运行结束标志,当等于1时,表示程序收敛于解 X;当等于0时,表示程序运行次数到达最大;当小于0时,说明情况较多
% OUTPUT 为程序迭代次数
% LAMBDA 为解X相关的Largrange乘子和影子价格

5、svmnn.m文件

clc;clear;
warning off;
%% SVM
%% 
data= xlsread('nndata.xlsx', 'sheet1', 'A2:G350');
%计算数据长度
input =data(:,1:6);
output=data(:,7);
nwhole=length(data);   
train_ratio=0.90;
ntrain=round(nwhole*train_ratio);
ntest =nwhole-ntrain;
% 准备输入和输出训练数据
input_train =input(1:ntrain,:); 
output_train=output(1:ntrain,:);
% 准备测试数据
input_test =input(ntrain+1:end,:); 
output_test=output(ntrain+1:end,:); 

%% 预测
[SVMoutput_train,trainoption]   = SVMRP(input_train,output_train,input_train,output_train);
[SVMoutput_test,testoption]     = SVMRP(input_train,output_train,input_test, output_test);

%数据保存
save('SVMoutput.mat','SVMoutput_train','output_train','SVMoutput_test','output_test','-double')
error_test=SVMoutput_test-output_test;
pererror_test=error_test./output_test;
%-------------------------------------------------------------------------------------
%% 数据可视化分析
%%
%-------------------------------------------------------------------------------------
%测试数据
figure();
plot(SVMoutput_test,'r:.')    %测试数据分析
hold on
plot(output_test','k--')     %实际数据分析
legend('预测测试数据','实际分析数据','Location','NorthWest','FontName','宋体');
title('SVM网络模型结果及真实值','fontsize',12,'FontName','宋体')
xlabel('时间','fontsize',12,'FontName','宋体');
ylabel('数值','fontsize',12,'FontName','宋体');
%-------------------------------------------------------------------------------------
figure()
stem(error_test,'fill','Color',[128 100 255]./255,'linewidth' ,0.8,'Markersize',3)
legend('SVM网络测试误差','Location','NorthEast','FontName','宋体')
title('SVM网络预测误差','fontsize',12,'FontName','宋体')
ylabel('误差','fontsize',12,'FontName','宋体')
xlabel('样本','fontsize',12,'FontName','宋体')
%-------------------------------------------------------------------------------------
figure()
stairs(pererror_test,'r-.','linewidth',0.8)        
legend('SVM网络测试相对误差','Location','NorthEast','FontName','宋体')
title('SVM网络预测相对误差','fontsize',12,'FontName','宋体')
ylabel('误差','fontsize',12,'FontName','宋体')
xlabel('样本','fontsize',12,'FontName','宋体')
%-------------------------------------------------------------------------------------

6、SVMRP.m文件

function [predict_test,testoption] = SVMRP(p_train,t_train,p_test,t_test)
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明
%% 数据归一化
%%
% 训练集
[pn_train,inputps] = mapminmax(p_train');
pn_train = pn_train';
[tn_train,outputps] = mapminmax(t_train');
tn_train = tn_train';
% 测试集
pn_test = mapminmax('apply',p_test',inputps);
pn_test = pn_test';
tn_test = mapminmax('apply',t_test',outputps);
tn_test = tn_test';

%% SVM模型创建/训练
%%
% 1. 寻找最佳c参数/g参数
[c,g] = meshgrid(-10:0.5:10,-10:0.5:10);
[m,n] = size(c);
cg = zeros(m,n);
eps = 10^(-4);
v = 5;
bestc = 0;
bestg = 0;
error = Inf;
for i = 1:m
    for j = 1:n
        cmd = ['-v ',num2str(v),' -t 2',' -c ',num2str(2^c(i,j)),' -g ',num2str(2^g(i,j) ),' -s 3 -p 0.1'];
        cg(i,j) = svmtrain(tn_train,pn_train,cmd);
        if cg(i,j) < error
            error = cg(i,j);
            bestc = 2^c(i,j);
            bestg = 2^g(i,j);
        end
        if abs(cg(i,j) - error) <= eps && bestc > 2^c(i,j)
            error = cg(i,j);
            bestc = 2^c(i,j);
            bestg = 2^g(i,j);
        end
    end
end

%%
% 2. 创建/训练SVM  
cmd = [' -t 2',' -c ',num2str(bestc),' -g ',num2str(bestg),' -s 3 -p 0.01'];
model = svmtrain(tn_train,pn_train,cmd);
%% SVM仿真预测
[Predict_test,testoption] = svmpredict(tn_test,pn_test,model);
% 反归一化
predict_test = mapminmax('reverse',Predict_test,outputps);

end


数据

nndata.slsx文件
在这里插入图片描述
2、两个mat文件,要的评论。都是一行n维的数组
在这里插入图片描述
在这里插入图片描述

结果

第一个组合程序运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
lstmnn.m文件运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue笔记_transition组件(过渡样式)

目录transition组件作用过渡时机语法1语法2使用-animation侦动画使用-过渡动画总结transition组件 作用 transition组件的作用是 给 单个 元素/组件 添加过渡效果&#xff1b; transition-group组件的作用是给 多个 元素/组件 添加过渡效果&#xff1b; 过渡时机 vue只有在…

【pen200-lab】10.11.1.13

pen200-lab 学习笔记 【pen200-lab】10.11.1.13 &#x1f525;系列专栏&#xff1a;pen200-lab &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年11月30日&#x1f334; &#x1f36d;作…

turtlebot2利用turtlebot_exploration_3d进行自主建图

安装octomap_ros和rviz插件 sudo apt-get install ros-indigo-octomap*源码安装&#xff1a;turtlebot_exploration_3d(本机为Ubuntu16对应的ros版本为kinetic&#xff0c;但是无对应的版本&#xff0c;用的是ubuntu14的indigo&#xff0c;版本向前兼容&#xff0c;故可以运行&…

AXWWriter兼容的Word处理元素

AXWWriter兼容的Word处理元素 AXWWriter是一个与MS Word兼容的Word处理元素。该部件不需要设置任何其他库或软件。 AXWWriter使用DOCXReadWrite一起工作,DOCXReadWriter也包含在内。有关其他属性,请查看DOCXReadWrite。AXWWriter不难使用。如果您了解DOCXReadWrite,那么您已…

岩藻多糖-聚已内酯 Fucoidan-PCL 聚已内酯-PEG-岩藻多糖

岩藻多糖-聚已内酯 Fucoidan-PCL 聚已内酯-PEG-岩藻多糖 中文名称&#xff1a;岩藻多糖-聚已内酯 英文名称&#xff1a;Fucoidan-PCL 别称&#xff1a;PCL修饰岩藻多糖&#xff0c;PCL-岩藻多糖 聚己内酯&#xff08;Polycaprolactone&#xff0c;PCL&#xff0c;CAS号…

第4部分 RIP

动态路由协议包括距离向量路由协议和链路状态路由协议。RIP&#xff08;Routing Information Protocol&#xff0c;路由信息协议&#xff09;是使用最广泛的距离微向量路由协议。RIP 是为小型网络环境设计的&#xff0c;国为这类协议是路由学习及路由更新将产生较大的流量&…

一文看懂MySQL的行锁

MySQL的全局锁和表锁可以看这篇文章&#xff1a;MySQL的全局锁和表锁 进入正文 行锁 行锁是由各个存储引擎自己实现的&#xff0c;并不是所有的引擎都支持行锁。 MyISAM引擎就不支持行锁&#xff0c;同一时刻一张表只能有一个更新在执行。 现在说InnoDB的行锁&#xff0c;行…

[附源码]计算机毕业设计springboot家庭医生签约服务管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

你在终端启动的进程,最后都是什么下场?(上)

你在终端启动的进程&#xff0c;最后都是什么下场&#xff1f;&#xff08;上&#xff09; 前言 在本篇文章当中&#xff0c;主要给大家介绍我们在终端启动的进程都是怎么结束的&#xff0c;在我们登录终端和退出终端都发生了什么&#xff1f; 基本介绍 首先我们需要了解的…

从Android系统启动→app启动→activity启动和渲染的整个流程

引言 本文讲解从开机到app显示画面的流程&#xff0c;但不分析源码&#xff0c;如果想阅读源码请到参考文章中查阅。 本文把这段流程分为三部分&#xff1a; 从开机到显示应用列表从点击应用图标到Activity创建成功从Activity创建成功到显示画面 从开机到显示应用列表 先看…

Java-CC

漏洞原理 TransformedMap这个类的decorate函数可以将一个普通的Map转换为一个TransformedMap&#xff0c;其第2、3参数分别对应当key改变和value改变时需要做的操作。所以此时如果修改其中的任意key或value&#xff0c;就会触发我们预先定义好的某些操作来对Map进行处理&#…

pytorch初学笔记(十四):损失函数

目录 一、损失函数 1.1 L1损失函数 1.1.1 简介 1.1.2 参数设定 1.1.3 代码实现 1.2 MSE损失函数&#xff08;平方和&#xff09; 1.2.1 简介 1.2.2 参数介绍 1.2.3 代码实现 1.3 损失函数的作用 二、在神经网络中使用loss function 2.1 使用交叉熵损失函数 2.2 …

【软件测试】资深测试聊一聊,测试架构师是怎么样的,做一名成功的测试工程师......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 测试架构师 测试架…

利尔达5G模组NE16U-CN通过华为OpenLab基于R16标准的认证测试

近日&#xff0c;利尔达5G R16模组NE16U-CN 率先顺利通过了华为OpenLab的认证测试&#xff0c;成为首批基于展锐V516芯片平台通过华为认证测试的5G模组&#xff0c;实现了基于3GPP R16协议版本的业务验证。 这表明&#xff0c;利尔达NE16U-CN模组已支持3GPP R16所具有的5G LAN、…

Overview of Computer Graphics

ContentsWhat is Computer Graphics?Why study Computer Graphics?ApplicationsFundamental Intellectual ChallengesTechnical ChallengesCourse TopicsRasterization (光栅化)Curves and Meshes (曲线和曲面)Ray Tracing (光线追踪)Animation / Simulation (动画 / 模拟)Re…

ANACONDA的进阶理解和思考

0. 继续深入了解anaconda 0.1 Anaconda 是 Python 的一个开源发行版本 里面集成了很多关于 python 科学计算的第三方库&#xff0c;主要面向科学计算且安装方便&#xff0c;而 python 是一个编译器 如果不使用 anaconda&#xff0c;那么安装库的时候&#xff0c;库的依赖安装起…

力扣LeetCode算法题 第6题-Z 字形变换

要求&#xff1a; 一开始看到题目&#xff0c;第一想到的思路&#xff0c;就被题目要求的思路给带偏了。 内容是Z字型输出内容 就一直想着把字符串输出成上面这种格式 总是想着把字符串放入到二维数组中进行展示。 这样一来思路就受到了限制。 一直使用先写入数组中。 //将…

直播邀请函 | 第12届亚洲知识产权营商论坛:共建创新价值 开拓崭新领域

由香港特别行政区政府、香港贸易发展局及香港设计中心共同举办的亚洲知识产权营商论坛&#xff0c;每年为世界各地知识产权业界专家、商界领袖提供一个理想平台&#xff0c;共同探讨亚洲知识产权市场的最新发展&#xff0c;发掘更多商机。 去年&#xff0c;论坛共邀请70余位国…

使用HBuilder X开发Vue3+node+element-plus(一)

开发Vue3有很多的工具&#xff0c;比如VSCode&#xff0c;它也非常的好用&#xff0c;本文主要使用HBuilder X开发。 环境3个&#xff1a; Windows10 Node安装 1.打开官网&#xff0c;选择一个版本&#xff0c;进行安装 Node.js 2.选择路径&#xff0c;下一步就行了 3. 输…

【深度学习】torch.argmax()函数讲解 | pytorch

文章目录前言一、两个维度的张量使用torch.argmax()函数二、三个维度的张量使用torch.argmax()函数前言 这篇博客也是属于看了好久一直没写&#xff0c;终于写了。 一、两个维度的张量使用torch.argmax()函数 我们直接先举一个例子吧&#xff0c;我们随机生成一个2X3的张量&…