精华内容
下载资源
问答
  • 新能源6kw充电机,DCDC双向升降压48~54VDC输入, 输出320VDC,双向输入输出。 MCU TMS320C2 系列TI DSP高性能芯片 PI 2SC0435T方案,驱动英飞凌的MOS管 原理图,PCB, 485和CAN协议文件,程序代码;调试文件,规格...

    新能源6kw充电机,DCDC双向升降压48~54VDC输入, 输出320VDC,双向输入输出。
    MCU TMS320C2 系列TI DSP高性能芯片
    PI 2SC0435T方案,驱动英飞凌的MOS管

    原理图,PCB, 485和CAN协议文件,程序代码;调试文件,规格书…
    tb181247984
    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述

    展开全文
  • 新能源6kw充电机,DCDC双向升降压48~54VDC输入, 输出320VDC,双向输入输出。 MCU TMS320C2 系列TI DSP高性能芯片 PI 2SC0435T方案,驱动英飞凌的MOS管 原理图,PCB, 485和CAN协议文件,程序代码;调试文件,规格...

    新能源6kw充电机,DCDC双向升降压48~54VDC输入, 输出320VDC,双向输入输出。
    MCU TMS320C2 系列TI DSP高性能芯片
    PI 2SC0435T方案,驱动英飞凌的MOS管

    原理图,PCB, 485和CAN协议文件,程序代码;调试文件,规格书…
    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述

    展开全文
  • 最近想了解一些关于LSTM的相关知识,在进行代码测试的时候,有个地方一直比较疑惑,关于LSTM的输入输出问题。一直不清楚在pytorch里面该如何定义LSTM的输入输出。首先看个pytorch官方的例子:# 首先导入LSTM需要...

    最近想了解一些关于LSTM的相关知识,在进行代码测试的时候,有个地方一直比较疑惑,关于LSTM的输入和输出问题。一直不清楚在pytorch里面该如何定义LSTM的输入和输出。首先看个pytorch官方的例子:

    # 首先导入LSTM需要的相关模块

    import torch

    import torch.nn as nn # 神经网络模块

    # 数据向量维数10, 隐藏元维度20, 2个LSTM层串联(如果是1,可以省略,默认为1)

    rnn = nn.LSTM(10, 20, 2)

    # 序列长度seq_len=5, batch_size=3, 数据向量维数=10

    input = torch.randn(5, 3, 10)

    # 初始化的隐藏元和记忆元,通常它们的维度是一样的

    # 2个LSTM层,batch_size=3,隐藏元维度20

    h0 = torch.randn(2, 3, 20)

    c0 = torch.randn(2, 3, 20)

    # 这里有2层lstm,output是最后一层lstm的每个词向量对应隐藏层的输出,其与层数无关,只与序列长度相关

    # hn,cn是所有层最后一个隐藏元和记忆元的输出

    output, (hn, cn) = rnn(input, (h0, c0))

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    # 首先导入LSTM需要的相关模块

    importtorch

    importtorch.nnasnn# 神经网络模块

    # 数据向量维数10, 隐藏元维度20, 2个LSTM层串联(如果是1,可以省略,默认为1)

    rnn=nn.LSTM(10,20,2)

    # 序列长度seq_len=5, batch_size=3, 数据向量维数=10

    input=torch.randn(5,3,10)

    # 初始化的隐藏元和记忆元,通常它们的维度是一样的

    # 2个LSTM层,batch_size=3,隐藏元维度20

    h0=torch.randn(2,3,20)

    c0=torch.randn(2,3,20)

    # 这里有2层lstm,output是最后一层lstm的每个词向量对应隐藏层的输出,其与层数无关,只与序列长度相关

    # hn,cn是所有层最后一个隐藏元和记忆元的输出

    output,(hn,cn)=rnn(input,(h0,c0))

    在这里如果我们打印output、hn、cn的shape,我们可以看到,torch的输出已经变成了定义中的20。

    print(output.size(),hn.size(),cn.size())

    torch.Size([5, 3, 20]) torch.Size([2, 3, 20]) torch.Size([2, 3, 20])

    1

    2

    print(output.size(),hn.size(),cn.size())

    torch.Size([5,3,20])torch.Size([2,3,20])torch.Size([2,3,20])

    接着来看一下LSTM的参数都有哪些:

    LSTM一共有7个参数,其中前三个是必须的,分别为:input_size, hidden_size, num_layers.

    1 input_size

    在这里首先对输入解释一下,nn.LSTM()的第一个参数为输入的序列维度,它对应着torch.randn()中的第三个参数10。可能有人不太明白这个这个函数是怎么回事,在这里解释一下:

    torch.randn(5, 3, 10)会生成五组数据,每组数据有3行10列。如果用在视频中的话,这里的5等于每个视频抽取的帧数,如果视频分辨率为100*100,则第二个参数为10000,若视频为彩色三通道的话,第三个参数为3,即输入序列变为(5,10000,3),看一下这张图:

    上图是一个完整的LSTM流程,上面生成的五组数据就对应了五个A,即一个LSTM中有五个神经元。

    再举个例子,比如现在有5个句子,每个句子由3个单词组成,每个单词用10维的向量组成,这样参数为:seq_len=3, batch=5, input_size=10.

    输入LSTM中的X数据格式尺寸为(seq_len, batch, input_size),此外h0和c0尺寸如下

    h0(num_layers * num_directions, batch_size, hidden_size)

    c0(num_layers * num_directions, batch_size, hidden_size)

    2 hidden_size

    对照上图可以看出,隐藏层数即为中间的节点数量。这个数量可以由用户自定义。

    3 num_layers

    这个是LSTM的层数,默认是1,如果我们设置为2的话,第一层计算得到h,然后把h作为输入,输给第二层。然后在最后输出最终的O。

    4 bias

    表示是否添加bias偏置,默认为true

    5 batch_first

    与LSTM的输入格式有关。

    输入输出的第一维是否为 batch_size,默认值 False。因为 Torch 中,人们习惯使用Torch中带有的dataset,dataloader向神经网络模型连续输入数据,这里面就有一个 batch_size 的参数,表示一次输入多少个数据。 在 LSTM 模型中,输入数据必须是一批数据,为了区分LSTM中的批量数据和dataloader中的批量数据是否相同意义,LSTM 模型就通过这个参数的设定来区分。 如果是相同意义的,就设置为True,如果不同意义的,设置为False。 torch.LSTM 中 batch_size 维度默认是放在第二维度,故此参数设置可以将 batch_size 放在第一维度。如:input 默认是(4,1,5),中间的 1 是 batch_size,指定batch_first=True后就是(1,4,5)。所以,如果你的输入数据是二维数据的话,就应该将 batch_first 设置为True;

    6 dropout

    是否进行dropout操作,默认为0,输入值范围为0~1的小数,表示每次丢弃的百分比。一般用来防止过拟合。

    7 bidirectional

    是否进行双向RNN,默认为false。

    运行模型:

    运行模型的格式是这样写的。output, (hn, cn) = model(input, (h0, c0))

    从形式上看,输入结构和输出结构是一样的。都是3个输入,3个输出。

    参数1:你输入的数据团。好像必须是 3 维数据。但必须注意 batch_size 的位置。是第一维,还是第二维。默认是在第二维度。是不可变的维度。最后一个维度是行数据的个数。剩下的1维数据是可变的,这就是长短数据。默认放在第一维。

    参数2:隐藏层数据,也必须是3维的,第一维:是LSTM的层数,第二维:是隐藏层的batch_size数,必须和输入数据的batch_size一致。第三维:是隐藏层节点数,必须和模型实例时的参数一致。

    参数3:传递层数据,也必须是3维的,通常和参数2的设置一样。它的作用是LSTM内部循环中的记忆体,用来结合新的输入一起计算。

    本文最后更新于2019年11月11日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

    展开全文
  • Java输入输出

    2021-03-08 23:27:43
    问题及答案来源自《Java程序员面试笔试宝典》第四章 Java基础知识 4.7输入输出流1、Java IO流的实现机制是什么?流可以分为两大类:字节流和字符流。字节流以字节为(8bt)单位,字符流以字符为(16bit)单位。字节流...

    问题及答案来源自《Java程序员面试笔试宝典》第四章 Java基础知识 4.7输入输出流

    1、Java IO流的实现机制是什么?

    流可以分为两大类:字节流和字符流。

    字节流以字节为(8bt)单位,字符流以字符为(16bit)单位。

    字节流包括两个抽象类:InputStream(输入流)和OutputStream(输出流)

    字符流包括两个抽象类:Reader(输入流)和Writer(输出流)

    字节流和字符流主要区别:

    字节流在处理输入输出时不会用到缓存,而字符流用到了缓存

    常见笔试题 - Java中有几种类型的流?

    常见的流有两种:字节流和字符流,字节流继承于InputStream(输入流)和OutputStream(输出流),字符流

    继承于Reader(输入流)和Writer(输出流),在java.io包中还有许多其他的流,流的主要作用是为了改善程序性能并且使用方便

    2、管理文件和目录的类是什么?

    Java中管理文件和文件夹的类是File类,File类常用方法:

    File(String pathname):根据指定路径创建File对象

    createNewFile():若目录或文件存在返回false,否则创建文件或文件夹

    delete():删除文件或文件夹

    isFile():判断这个对象表示的是否是文件

    isDirectory():判断这个对象表示的是否是文件夹

    listFiles():若对象表示目录,则返回目录中所有文件的File对象

    mkdir():根据当前对象指定的路径创建目录

    exists():判断对象对应的文件是否存在

    常见笔试题 - 如何列出某个目录下的所有目录和文件?

    详情见代码如下:

    1 importjava.io.File;2

    3 public classuseListFiles {4 public static voidmain(String[] args) {5 File file = new File("D:\\test");6 //判断目录是否存在

    7 if(!file.exists()){8 System.out.println("directory is empty!");9 return;10 }11 File[] fileList =file.listFiles();12 for(int i=0; i

    14 if(fileList[i].isDirectory()){15 System.out.println("directory is: " +fileList[i].getName());16 } else{17 System.out.println("file is: " +fileList[i].getName());18 }19 }20 }21 }

    3、Java Socket是什么?

    什么是Socket:

    网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket

    Socket也称为套接字,可以用来实现不同虚拟机或不同计算机之间的通信

    Java中的Socket:

    面向连接的Socket通信协议(TCP)

    面向无连接的Socket通信协议(UDP)

    任何一个Socket都是由IP地址和端口号唯一确定的

    基于TCP的通信过程:

    首先Server(服务器)Listen(监听)指定的某个端口(建议使用大于1024的端口)是否有连接请求;

    然后Client(客户端)向Server端发出连接请求(Connect);最后Server端向Client端返回Accept消息(接受)

    一个连接就建立起来了,会话立即产生,此时Server端和Client端都可以通过Send、Write等方法与对方通信

    socket生命周期三个阶段:

    打开Socket

    使用Socket收发数据

    关闭Socket

    在Java中,可以使用ServerSocket来作为服务器端,Socket作为客户端来实现网络通信

    常见笔试题 - 用Socket实现客户端和服务端的通信,要求客户发送数据后能返回相同的数据

    首先创建一个名为Server.java的服务器端程序:

    1 import java.io.*;2 import java.net.*;3

    4 public classServer {5 public static voidmain(String[] args) {6 BufferedReader br = null;7 PrintWriter pw = null;8 try{9 ServerSocket server = new ServerSocket(8888);10 Socket socket =server.accept();11 //获取输入流

    12 br = new BufferedReader(newInputStreamReader(socket.getInputStream()));13 //获取输出流

    14 pw = new PrintWriter(socket.getOutputStream(), true);15 String s = br.readLine(); //获取接收的数据

    16 pw.println(s); //发送相同的数据给服务端

    17 } catch(Exception e){18 e.printStackTrace();19 } finally{20 try{21 br.close();22 pw.close();23 } catch(Exception e){24 e.printStackTrace();25 }26 }27 }28 }

    然后创建一个名为Client.java的客户端程序:

    1 import java.io.*;2 import java.net.*;3

    4 public classClient {5

    6 public static voidmain(String[] args) {7 BufferedReader br = null;8 PrintWriter pw = null;9 try{10 Socket socket = new Socket("localhost", 8888);11 //获取输入流与输出流

    12 br = new BufferedReader(newInputStreamReader(socket.getInputStream()));13 pw = new PrintWriter(socket.getOutputStream(), true);14 //向服务器发送数据

    15 pw.println("Hello");16 String s = null;17 while(true){18 s =br.readLine();19 if(s!=null){20 break;21 }22 }23 System.out.println(s);24 } catch(Exception e) {25 e.printStackTrace();26 } finally{27 try{28 br.close();29 pw.close();30 } catch(Exception e){31 e.printStackTrace();32 }33 }34 }35 }

    最后启动服务器端程序,然后运行客户端程序,客户端会把从服务器转发过来的数据都打印出来

    4、Java NIO是什么?

    NIO与IO:

    NIO是指Nonblocking IO,指的是非阻塞IO

    阻塞是指暂停一个线程的执行以等待某个条件的发生,例如某资源就绪

    当处理多个连接时用到多线程时,阻塞会导致大量线程进行上下文切换,使得程序运行效率底下

    而NIO可以解决这个问题,NIO通过Selector、Channel和Buffer来实现非阻塞的IO操作

    NIO原理:

    NIO的实现主要采用了Reactor(反应器)模式,这个设计模式和Observer(观察者)模式类似,只不过

    Observer模式只能处理一个事件源,而Reactor设计模式可以处理多个事件源

    NIO与传统的Socket方式比,由于NIO采用了非阻塞的方式,在处理大量并发请求时使用NIO比使用

    Socket的效率高的多!

    5、什么是Java序列化?

    Java提供了两种对象持久化的方法:序列化和外部序列化

    (1)序列化

    序列化:把对象的状态写在流里进行网络传输,或者保存到文件、数据库等系统里,在必要的时候可以

    把流读取出来重新构造一个相同的对象

    实现序列化:

    所有实现序列化的类必须实现Serializable接口

    使用输出流(FileOutputStream)来构造一个ObjectOutputStream对象

    接着使用该对象的writeObject方法将obj对象写出(保存其状态)

    序列化的两个特点:

    一个类能被序列化,那么它的子类也能被序列化

    由于static代表类的成员,transient代表对象的临时数据,这两种类型的数据成员是不能被序列化的

    序列化实例:

    1 import java.io.*;2

    3 public class People implementsSerializable{4 publicString name;5 public intage;6

    7 publicPeople(){8 this.name = "xxx";9 this.age = 18;10 }11

    12 public static voidmain(String[] args) {13 People p = newPeople();14 ObjectOutputStream oos = null;15 ObjectInputStream ois = null;16 try{17 //序列化

    18 FileOutputStream fos = new FileOutputStream("people.out");19 oos = newObjectOutputStream(fos);20 oos.writeObject(p);21 oos.close();22 } catch(Exception e) {23 e.printStackTrace();24 }25 People p1;26 try{27 //反序列化

    28 FileInputStream fis = new FileInputStream("people.out");29 ois = newObjectInputStream(fis);30 p1 =(People)ois.readObject();31 System.out.println(p1.name + " - " +p1.age);32 } catch(Exception e) {33 e.printStackTrace();34 }35 }36 }

    (2)外部序列化

    Java语言还提供了另外一种方式来实现对象持久化,即外部序列化

    接口如下:

    1 public interface Externalizable extendsSerializable{2 voidreadExternal(ObjectInput in);3 voidwriteExternal(ObjectOutput out);4 }

    外部序列化和序列化的主要区别:

    序列化是内置的API,只要实现Serializable接口就可以使用,不需要编写具体代码就可以实现对象的序列化

    而外部序列化中的读写接口必须由开发人员完成,难度更大,但更灵活,可以选择只持久化部分成员

    引申 - 在用接口Serializable实现序列化时,类中的所有属性都会被序列化,那么怎么样才能只序列化部分属性?

    用transient来控制序列化的属性,被transient修饰的属性是临时的,不会被序列化

    实现Externalizable接口,开发人员根据实际需求实现readExternal和writeExternal方法来控制序列化的属性

    展开全文
  • 51单片机P1口输入输出实验实验报告实验一 P1口输入输出实验一 实验目的1 掌握P1口作为I/O口时的使用方法。2 理解读引脚和读锁存器的区别。实验原理 由 AT89C51 组成的单片机系统,通常情况下 P0 口分时复用作为地址...
  • 在使用pytorch的双向LSTM的过程中,我的大脑中蒙生出了一个疑问。 双向的lstm的outputs的最后一个状态与hidden,两者之间肯定有所联系, 但具体是什么样子的呢?会不会hidden状态存储的就是outputs的最后一个状态, ...
  • 此文档主要是介绍蓝牙双向通讯sdk的调用方法以及蓝牙双向传输的核心功能逻辑,用户可以根据需要自定义协议进行蓝牙双向通讯 二、SDK接入步骤: 1: 增加sdk库依赖: a)libs文件夹下增加sdk依赖库 b)应用app...
  • 第五节 输入输出接口如第六章所述,CPU要通过接口电路才能和外设交换信息.一般在接口电路中要有输入输出数据锁存器和 缓冲器,要有状态和控制命令寄存器,还要有地址译码器和控制电路,以及中断控制逻辑电路.这样才能...
  • 实验一 IO口输入输出实验贵 州 大 学 实 验 报 告 纸系 别电科班 级电科091班姓 名学号课 程 名 称单片机成 绩评 定教师签名实 验 时 间 2012年 5 月5 日实验一 I/O口输入输出一、实验目的掌握单片机P1口、P3口...
  • 地址总线中的条线可用于I/O寻址,形成的输入输出地址空间,地址范围为;PC机中用了条地址线进行I/O操作,其地址空间为,可寻址范围为。2.实现主机与外设之间同步需要解决的基本问题有二,一为,另一为。3.对于微机而言...
  • 输入输出重定向、管道1.文件描述符:FD: 内核用来追踪在内存中已经打开的文件的属性(标识),是一个内存结构,需要空间来存放此信息2.标准输入输出INPUT : 标准输入: stdin , 描述符 : 0OUPUT: 标准输出: stdout 1...
  • 第七章 微型计算机的输入输出第七章 微型计算机的输入输出 ?计算机输入输出接口概述 PC/XT总线驱动电路及总线周期 简单接口电路 PC机系统总线及接口标准 一、I/O接口的作用 二、输入/输出的控制方式 1.程序控制传送...
  • 概括地说,IO的功能模式大致可以分为输入、输出以及输入输出双向三大类。其中作为基本输入IO,相对比较简单,主要涉及的知识点就是高阻态;作为输出IO,相比于输入复杂一些,工作模式主要有开漏(Open Drain)模式...
  • 双向链表 插入时候,新建的元素在一定要在左边,并且要建立左右连接; 散列表(严重问题:散裂冲突) 1.数组+单链表+红黑树 2.桶里的链表长度达到大于等于8的时候,,会升级为红黑树;少于小于等于6的时候,又会...
  • 双向I/O模式与标准51相比,虽然在内部结构上不同,但是在用法上相同,比如要作为输入时,都必须先写“1”置成高电平,然后才能去读引脚的电平状态。 推挽输出 不论输出高电平还是低电平都能驱动较大的电流,比如...
  • # 输入特征维度为10 输出特征维度为20 2层 双向 LSTM rnn = nn.LSTM(10, 20, 2, bidirectional=True) 初始化隐藏状态 # h0[0]:第一层正向初始时间步隐藏状态(时间步1) # h0[1]:第一层反向初始时间步隐藏状态...
  • 模型架构 一层Embedding, 一层双向GRU num_embeddings=2 有两条数据需要输入 input_size=3 GRU层的输入维度,也就是嵌入层的embedding维度 hidden_size=2 隐层维度是2 import torch Embedding = torch.nn.Embedding...
  • MCS51单片机的输入/输出接口 一、51单片机I/O介绍 1、不同I/O口在结构区别 ①、P0口(P0。0 - P0。7)是一个8位漏极开路型双向I/O口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流...
  • 因为 iSCSI 是双向的协议,所以 iSCSI Target 可以将数据(执行结果)返回给 iSCSI Initiator。 FC FC(Fibre Channel,光纤通道),与 SCSI 接口一样,光纤通道最初也不是专为磁盘驱动器所设计的接口技术,而是专门...
  • 420 please input the data: 65535 数据输入结束 正序输出双向链表: 1991 1992 2013 2014 512 420 逆序输出双向链表: 420 512 2014 2013 1992 1991 正序输出双向链表: 1012 1992 2013 2014 512 420 逆序输出双向...
  • 第 5 章 输入输出管理

    千次阅读 2021-03-05 22:48:04
    第 5 章 输入输出管理 1、I/O设备的基本概念和分类 1.1、思维导图 操作系统需要管理的资源 I/O 设备的基本概念和分类 1.2、什么是I/O设备 “I/O”就是“输入/输出”(Input/Output) I/O设备就是可以将数据...
  • (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_...
  • STM32 GPIO 8种输入输出

    2021-02-02 12:06:22
    STM32 GPIO 8种输入输出输入浮空输入上拉输入下拉输入模拟输入输出开漏输出复用开漏输出推挽输出复用推挽输出总结参考 输入 1.浮空输入(GPIO_Mode_IN_FLOATING) 2.上拉输入(GPIO_Mode_IPU) 3.下拉输入(GPIO_...
  • 1、整体管理 过程名称 输入 工具和技术 输出 知识点 制定项目章程 1、合同/协议文件2、组织过程资产3、事业环境因素4、项目工作说明书5、商业论证 1、专家判断2、引导技术 项目章程
  • 计算机输入输出以及存储器
  • 一、IO口的输入 1.分类 (1)基本输入IO电路 (2)施密特触发输入电路 (3)弱上拉输入电路 2.各种的优缺点 (1)基本输入IO电路 1>优点:不接VCC,GND,在低功耗模式下,不费电。 2>缺点...
  • LSTM输入输出各参数

    2021-12-07 09:19:08
    torch.nn.LSTM(*args, kwargs)** 参数 ...LSTM的输入 input, (h_0, c_0) – input (seq_len, batch, input_size) – h_0 (num_layers * num_directions, batch, hidden_size) # 初始的隐藏状态 – c_.
  • 学习目标:重点分析I/O设备与主机交换信息的三种控制方式(程序查询、中断和DMA)及其相应的接口功能和组成,对输入输出系统有一个较清晰的认识,加深对整机工作的理解。 5.1.1 输入输出系统的发展概况 输入输出系统的...
  • http://my.oschina.net/qihh/blog/74266利用python的subprocess模块执行外部命令,并捕获stdout,stderr的输出:import subprocess#print ’popen3:’def external_cmd(cmd, msg_in=''):try:proc = subprocess.Popen...
  • LSTM()函数 输入参数 参数有input_size, hidden_size, num_layers, bias, batch_first, dropout, ...bidrectional表示是否为双向lstm。这可能影响输出维度,后面讲。 e.p. lstm_bi=torch.nn.LSTM(input_size=1

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 126,895
精华内容 50,758
关键字:

双向输入输出