Intel ACRN 安装WIN10 VM
上一篇帖子记录了ACRN运行rt linux,这篇帖子记录一下最近倒腾出来的WIN10。目前架构如下


ACRN可以把它理解为一个基于Linux类似软件的Type1 Hypervisor,基于Linux去做而不是baremetal是为了更方便去配置资源。
首先我们得有两台电脑,一台是开发机,另一台是目标机
开发机:
主要用于编译ACRN_hypervisor和ACRN_kernel ,另外建议目标机使用intel的ECI-Jammy(基于ubuntu魔改的)core-jammy — ECI documentation (intel.com) 目前版本应该在3.1
目标机:
运行ACRN_Service_VM以及guest_VMs
我这边用的是cpu为12代i7的目标机,制作WIN10启动镜像需要用到OVFM.FD,这个是按intel的cpu代数区分的,所以不是很通用。
Step1 环境配置
首先进入目标机的BIOS,修改下面的选项,PM Support是8代core才有的,所以不用管

然后我的建议是使用ECI--jammy作为目标机的操作系统core-jammy — ECI documentation (intel.com)
虽然ACRN官方文档用的是Ubuntu22.04,但是我推荐ECI-Jammy,理由如下:
1.ECI-Jammy基于ubuntu魔改,有intel优化,而且还支持apt-get
2.ECI-Jammy有intel的仓库,有运动控制库
3.ECI-Jammy自带intel基于cpu优化过的preempt-rt
4.ECI-Jammy会生成.img镜像,可以直接给ACRN的rt_vm当做镜像用
假设你用的是ECI,由于默认的静态ip设置会和ACRN的冲突,一个是networking脚本配置,一个是systemd-networkd管理,所以我们要统一一下,开机后
如果用ECI的话,请把eci-user加入sudoers$ su$ nano /etc/sudoersroot ALL=(ALL:ALL) ALLeci-user ALL=(ALL:ALL) ALL$ :wqsource /home/eci-user/.bashrc $ sudo apt update $ cd /etc/network $ rm interfaces$ cd /etc/systemd/network$ touch 20-static.network$ nano 20-static.network[Match] Name=enp4s0 [Network] Address=192.168.8.89 Gateway=192.168.8.1 DNS=8.8.8.8 DNS=8.8.4.4[DHCP] UseDNS=false$ sudo systemctl enable systemd-networkd $ sudo systemctl restart systemd-networkd
按照官方文档配置好开发机
Getting Started Guide — Project ACRN™ 3.3 documentation
插上USB键盘鼠标,生成my_board,当生成my_board.xml后,我们要使用acrn_configurator去生成配置,然后编译acrn_hypervisor和acrn_kernel。
ACRN Configurator Tool — Project ACRN™ 3.4-unstable documentation
在acrn_configurator中,找到VM0,改名成ACRN_Service_VM,并在内核命令中设置i915.modeset=0
在acrn_configurator中创建一个WIN10的VM,把PCI里的VGA传递进去,在USB里把我们的鼠标键盘也传递进去
按照文档编译 ACRN_hypervisor和ACRN_kernel 然后安装到目标机上
开机后选择带有VM标识的启动项
不出意外你应该 卡在这个界面,这是因为我们modeset=0以后,显示器不会显示console了,因为WIN10要用到。
Step2 三个东西
不要担心,我们还是能通过ssh的方式连接上的
ssh eci-user@192.168.8.89
然后我们要准备三个东西
1. Windows10.iso
下载 Windows 10一定要从这里下载安装器,然后选择USB介质,下载Windows10.iso,大概4.7G,不要去下三方的雨木林风什么的,识别不到的
2.winvrito
这个是oracle的一个虚拟化驱动,https://edelivery.oracle.com/osdc/faces/SoftwareDelivery在这个网站注册,然后选择Download Package.输入 Oracle Linux 7.6 并点击 Search.
选择DLP: Oracle Linux 7.6 点击continue
选择x86-64-bit
右键该项,选择另存为,解压后得到 winvrito

3.OVMF.fd
这部分的连接在此,但是无法完全根据上面的内容进行操作就是了
Enable GPU Passthrough (GVT-d) — Project ACRN™ 3.4-unstable documentation
打开你的开发机,安装docker(请自行安装,这里不做说明)
$ cd ~
$ git clone https://github.com/projectacrn/acrn-edk2.git$ docker pull ubuntu:16.04
网页提供了一个脚本,我也放在这里
#!/bin/bash
# Copyright (C) 2021 Intel Corporation.
# SPDX-License-Identifier: BSD-3-Clause
#
# PREREQUISITES:
# 1) Get your specific "IntelGopDriver.efi" and "Vbt.bin"
# from your BIOS vender
# 2) Install Docker on your host machine and allow non-root users
# For Ubuntu: https://docs.docker.com/engine/install/ubuntu/
# To enable non-root users: https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user
# 3) If you are working behind proxy, create a file named
# "proxy.conf" in ${your_working_directory} with
# configurations like below:
# Acquire::http::Proxy "http://x.y.z:port1";
# Acquire::https::Proxy "https://x.y.z:port2";
# Acquire::ftp::Proxy "ftp://x.y.z:port3";
#
# HOWTO:
# 1) mkdir ${your_working_directory}
# 2) cd ${your_working_directory}
# 2) mkdir gop
# 3) cp /path/to/IntelGopDriver.efi /path/to/Vbt.bin gop
# 4) cp /path/to/build_acrn_ovmf.sh ${your_working_directory}
# 5) ./build_acrn_ovmf.sh
#
# OUTPUT: ${your_working_directory}/acrn-edk2/Build/OvmfX64/DEBUG_GCC5/FV/OVMF.fd
#
# For more information, ./build_acrn_ovmf.sh -h
#gop_bin_dir="./gop"
docker_image_name="ubuntu:ovmf.16.04"
proxy_conf="proxy.conf"
acrn_ver="latest"if [ ! -x "$(command -v docker)" ]; thenecho "Install Docker first:"echo "If you are using Ubuntu, you can refer to: https://docs.docker.com/engine/install/ubuntu/"exit
fiif [ ! -d "${gop_bin_dir}" ]; thenmkdir ${gop_bin_dir}echo "Copy IntelGopDriver.efi and Vbt.bin to ${gop_bin_dir}"exit
fiif [ ! -f "${gop_bin_dir}/IntelGopDriver.efi" ]; thenecho "Copy IntelGopDriver.efi to ${gop_bin_dir}"exit
fiif [ ! -f "${gop_bin_dir}/Vbt.bin" ]; thenecho "Copy Vbt.bin to ${gop_bin_dir}"exit
fiif [ ! -f "${proxy_conf}" ]; thentouch "${proxy_conf}"
fiusage()
{echo "$0 [-v ver] [-i] [-s] [-h]"echo " -v ver: The release version of ACRN, e.g. 2.3"echo " -i: Delete the existing docker image ${docker_image_name} and re-create it"echo " -s: Delete the existing acrn-edk2 source code and re-download/re-patch it"echo " -h: Show this help"exit
}re_download=0
re_create_image=0while getopts "hisv:" opt
docase "${opt}" inh)usage;;i)re_create_image=1;;s)re_download=1;;v)acrn_ver=${OPTARG};;?)echo "${OPTARG}";;esac
done
shift $((OPTIND-1))if [[ "${re_create_image}" -eq 1 ]]; thenif [[ "$(docker images -q ${docker_image_name} 2> /dev/null)" != "" ]]; thenecho "===================================================================="echo "Deleting the old Docker image ${docker_image_name} ..."echo "===================================================================="docker image rm -f "${docker_image_name}"fi
fiif [[ "${re_download}" -eq 1 ]]; thenecho "===================================================================="echo "Deleting the old acrn-edk2 source code ..."echo "===================================================================="sudo rm -rf acrn-edk2
ficreate_acrn_edk2_workspace()
{echo "===================================================================="echo "Downloading & patching acrn_edk2 source code ..."echo "===================================================================="[ -d acrn-edk2 ] && sudo rm -rf acrn-edk2git clone https://github.com/projectacrn/acrn-edk2.gitif [ $? -ne 0 ]; thenecho "git clone acrn-edk2 failed"return 1ficd acrn-edk2git submodule update --init CryptoPkg/Library/OpensslLib/opensslif [ $? -ne 0 ]; thenecho "git submodule acrn-edk2 failed"return 1fiif [ "${acrn_ver}" != "latest" ]; thengit checkout --recurse-submodules -b "v${acrn_ver}" "ovmf-acrn-v${acrn_ver}"if [ $? -ne 0 ]; thenecho "git checkout --recurse-submodules -b v${acrn_ver} ovmf-acrn-v${acrn_ver} failed"return 1fifiwget -q https://projectacrn.github.io/${acrn_ver}/_static/downloads/Use-the-default-vbt-released-with-GOP-driver.patchif [ $? -ne 0 ]; thenecho "Downloading Use-the-default-vbt-released-with-GOP-driver.patch failed"return 1fiwget -q https://projectacrn.github.io/${acrn_ver}/_static/downloads/Integrate-IntelGopDriver-into-OVMF.patchif [ $? -ne 0 ]; thenecho "Downloading Integrate-IntelGopDriver-into-OVMF.patch failed"return 1figit am --keep-cr Use-the-default-vbt-released-with-GOP-driver.patchif [ $? -ne 0 ]; thenecho "Apply Use-the-default-vbt-released-with-GOP-driver.patch failed"return 1figit am --keep-cr Integrate-IntelGopDriver-into-OVMF.patchif [ $? -ne 0 ]; thenecho "Apply Integrate-IntelGopDriver-into-OVMF.patch failed"return 1fireturn 0
}create_docker_image()
{echo "===================================================================="echo "Creating Docker image ..."echo "===================================================================="cat > Dockerfile.ovmf <<EOF
FROM ubuntu:16.04WORKDIR /root/acrnCOPY ${proxy_conf} /etc/apt/apt.conf.d/proxy.conf
RUN apt-get update && apt-get install -y vim build-essential uuid-dev iasl git gcc-5 nasm python-dev
EOFdocker build -t "${docker_image_name}" -f Dockerfile.ovmf .rm Dockerfile.ovmf
}if [[ "$(docker images -q ${docker_image_name} 2> /dev/null)" == "" ]]; thencreate_docker_image
fiif [ ! -d acrn-edk2 ]; thencreate_acrn_edk2_workspaceif [ $? -ne 0 ]; thenecho "Download/patch acrn-edk2 failed"exitfi
elsecd acrn-edk2
ficp -f ../${gop_bin_dir}/IntelGopDriver.efi OvmfPkg/IntelGop/IntelGopDriver.efi
cp -f ../${gop_bin_dir}/Vbt.bin OvmfPkg/Vbt/Vbt.binsource edksetup.shsed -i 's:^ACTIVE_PLATFORM\s*=\s*\w*/\w*\.dsc*:ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc:g' Conf/target.txt
sed -i 's:^TARGET_ARCH\s*=\s*\w*:TARGET_ARCH = X64:g' Conf/target.txt
sed -i 's:^TOOL_CHAIN_TAG\s*=\s*\w*:TOOL_CHAIN_TAG = GCC5:g' Conf/target.txtcd ..docker run \-ti \--rm \-w $PWD/acrn-edk2 \--privileged=true \-v $PWD:$PWD \${docker_image_name} \/bin/bash -c "source edksetup.sh && make -C BaseTools && build -DFD_SIZE_2MB -DDEBUG_ON_SERIAL_PORT=TRUE"
这时候你会发现,根据网页的内容,无论是一种方式还是第二种都会报错:
第一种,因为gcc不是gcc-5
第二种,不知道为什么就报错了

这时候你得创建这个docker,然后step by step,之前运行脚本后会生成一个ubuntu:ovmf.16.04的docker镜像,首先自己创建该镜像,然后准备好你的Vbt.bin和IntelGopDriver.efi以及网页里提到的两个patch

-
Use-the-default-vbt-released-with-GOP-driver.patch
-
Integrate-IntelGopDriver-into-OVMF.patch

$ sudo docker create -it ubuntu:ovmf.16.04
$ docker start container_id$ cd ~
$ docker cp acrn-edk2 container_id:~/
$ docker cp Vbt.bin container_id:~/
$ docker cp IntelGopDriver.efi container_id:~/
$ docker cp Use-the-default-vbt-released-with-GOP-driver.patch container_id:~/
$ docker cp Integrate-IntelGopDriver-into-OVMF.patch container_id:~/$ docker exec -it container_id /bin/bash
$ cd ~
$ cp Use-the-default-vbt-released-with-GOP-driver.patch ./acrn-edk2
$ cp Integrate-IntelGopDriver-into-OVMF.patch ./acrn-edk2
$ cd acrn-edk2/OvmfPkg/
$ mkdir IntelGop
$ mkdir Vbt
$ cd ~
$ cp IntelGopDriver.efi acrn-edk2/OvmfPkg/IntelGop/IntelGopDriver.efi
$ cp Vbt.bin acrn-edk2/OvmfPkg/Vbt/Vbt.bin
$ cd acrn-edk2
$ git apply Use-the-default-vbt-released-with-GOP-driver.patch
$ git apply Integrate-IntelGopDriver-into-OVMF.patch
$ cd acrn-edk2
$ git submodule update --init CryptoPkg/Library/OpensslLib/openssl
$ source edksetup.sh
$ make -C BaseTools
$vim Conf/target.txtACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dscTARGET_ARCH = X64TOOL_CHAIN_TAG = GCC5$build -DFD_SIZE_2MB -DDEBUG_ON_SERIAL_PORT=TRUE
编译完成后在这个路径下能找到Build/OvmfX64/DEBUG_GCC5/FV/OVMF.fd
Step3 安装win10
参考Run Windows as the User VM OS — Project ACRN™ 3.4-unstable documentation
在目标机上
$ cd ~
$ mkdir work
$ sudo apt-get install qemu-utils
$ cd ~/work
$ qemu-img create -f raw win10-ltsc.img 40G
现在把Window.iso和OVMF.fd以及winvirtio.iso都拷贝到work目录下,目录结构如下所示,这里launch_user_vm_id2.sh是我们acrn_configurator生成的一个脚本,我们还要修改一下这个脚本

dm_params=(--windows`add_cpus 24 32 40 48`-m 4096M--ovmf /home/eci-user/work/OVMF.fd`add_virtual_device 1:0 lpc``add_virtual_device 0:0 hostbridge``add_virtual_device 3 xhci 1-6``add_passthrough_device 2 0000:00:02.0``add_logger_settings console=4 kmsg=3 disk=5`-s 6,virtio-blk,/home/eci-user/work/win10-ltcs.img-s 7,ahci,cd:/home/eci-user/work/Windows.iso-s 8,achi,cd:/home/eci-user/work/winvirtio.iso-s 9,passthru,0/14/0,d3hot_reset-s 10,virtio-net,tap=tap0WIN10
)
这里稍微解释一下:
![]()
这个是我的USB键鼠收发器
![]()
这个是我的intel的VGA
![]()
这个是USB Controller 我之前没加,无法重启windows(安装器结束后重启一直蓝屏),不知道是不是和这个有关,加上去了就好了
运行脚本,显示器上会出现boot from CD/DVD,这时候键盘按下任意按键!!!!!
boot from CD/DVD,这时候键盘按下任意按键!!!!!
boot from CD/DVD,这时候键盘按下任意按键!!!!!

在这一步选择加载驱动,然后点击浏览,选择到有一个CD ROM磁盘里面有vio\win10\amd64.把下面的隐藏不兼容驱动去掉,全选所有的驱动,点击下一步。
就会出现磁盘了,我没有截图,借用一下官网的,这里我们的是40G的

Step4 一些问题
安装完后机器会重启,重启的时候就不需要按键盘了,直接等待让他进入win10的引导。但是你可能会跟我一样出现下面的问题:
1.蓝屏

2.一直是Recovery

没有解决办法。。我试了一下午有一次(添加-s 9,passthru,0/14/0,d3hot_reset并重启电脑以后)它就正常了。。。
Step5 正常启动
我们可以拷贝之前的lanuch脚本,然后把windows.iso和winvirtio.iso删除,就可以了。

庆幸的是,这个win10-ltsc.img是可以复用的。所以下一次不用这么苦逼的装系统了。
相关文章:
Intel ACRN 安装WIN10 VM
上一篇帖子记录了ACRN运行rt linux,这篇帖子记录一下最近倒腾出来的WIN10。目前架构如下 ACRN可以把它理解为一个基于Linux类似软件的Type1 Hypervisor,基于Linux去做而不是baremetal是为了更方便去配置资源。 首先我们得有两台电脑,一台是开…...
贷齐乐案例
源码分析: <?php // 设置 HTTP 头部,指定内容类型为 text/html,字符集为 utf-8 header("Content-type: text/html; charsetutf-8"); // 引入数据库配置文件 require db.inc.php; // 定义函数 dhtmlspecialchars,用…...
[Qt][Qt 网络][下]详细讲解
目录 1.TCP Socket1.核心API概览2.回显服务器3.回显客户端 2.HTTP Client3.其他模块 1.TCP Socket 1.核心API概览 核⼼类是两个:QTcpServer和QTcpSocketQTcpServer用于监听端口,和获取客户端连接 listen(const QHostAddress&, quint16 port)&#…...
十三、OpenCVSharp的目标检测
文章目录 简介一、传统目标检测方法1. 基于滑动窗口的检测2. 特征提取与分类器结合(如 HOG + SVM)3. 级联分类器二、基于深度学习的目标检测1. YOLO 系列算法2. SSD 算法3. Faster R-CNN 算法三、深度学习目标检测模型的训练和部署四、目标检测的性能评估指标1. 准确率、召回…...
STM32标准库学习笔记-6.定时器-输入捕获
参考教程:【STM32入门教程-2023版 细致讲解 中文字幕】 定时器输入捕获 IC(Input Capture)输入捕获输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率…...
vue前端可以完整的显示编辑子级部门,用户管理可以为用户分配角色和部门?
用户和角色是一对多的关系用户和部门是多对多得关系<template><div class="s"><!-- 操作按钮 --><div class="shang"><el-input v-model="searchText" placeholder="请输入搜索关键词" style="width:…...
量化交易的基石:ExchangeSdk
作为长期混迹在合约市场的老韭菜来说,已不能满足与手动下单来亏钱,必须得通过脚本来加速,为了达到这个目的就产生了项目。目前封装的主要是合约的API接口,不支持现货交易。 Github: https://github.com/silently9527/exchange-sdk…...
【区块链+金融服务】基于区块链的一站式绿色金融开放平台 | FISCO BCOS应用案例
科技的进步为绿色金融发展提供了新的机遇,但银行、企业、第三方金融机构等在进行绿色金融业务操作过程中, 存在着相关系统和服务平台建设成本高、迭代难度大、数据交互弱、适配难等痛点。 基于此,中碳绿信采用国产开源联盟链底层平台 FISCO …...
使用Python实现深度学习模型:智能娱乐与虚拟现实技术
介绍 智能娱乐与虚拟现实(VR)技术正在改变我们的娱乐方式。通过深度学习模型,我们可以创建更加沉浸式和智能化的娱乐体验。本文将介绍如何使用Python和深度学习技术来实现智能娱乐与虚拟现实的应用。 环境准备 首先,我们需要安装一些必要的Python库: pip install pand…...
亚马逊云科技产 Amazon Neptune 图数据库服务体验
目录 图数据库为什么使用图数据库Amazon Neptune实践登陆创建 S3 存储桶notebook图神经网络快速构建加载数据配置端点Gremlin 查询删除环境删除 S3 存储桶 总结 图数据库 图数据库是一种专门用于存储和处理图形数据结构的数据库管理系统。图形数据结构由节点(Node&…...
【网络安全】重置密码token泄露,实现账户接管
未经许可,不得转载。 文章目录 正文 正文 对某站点测试过程中,登录账户触发忘记密码功能点,其接口、请求及响应如下: PUT /api/v1/people/forgot_password 可以看到,重置密码token和密码哈希均在响应中泄露。 删除co…...
计算机基础知识复习8.13
cookie和session区别 cookie:是服务器发送到浏览器,并保存在浏览器端的一小块数据 浏览器下次访问服务时,会自动携带该块数据,将其发送给服务器 session:是javaEE标准,用于在服务端记录客户端信息 数据存放在服务端更加安全&a…...
Unity URP无光照下Shadow 制作 <二> 合批处理
闲谈 相信大家在日常工作中发现了一个问题 , urp下虽然可以做到3个Pass 去写我们想要的效果,但是,不能合批(不能合批,那不是我们CPU要干冒烟~!) 好家伙,熊猫老师的偏方来了 &#x…...
微乐校园pf
TOC springboot451微乐校园pf 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这…...
文件其他相关函数
symlink 链接文件: file.txt -> hello.c 软链接文件、符号链接文件 硬链接文件 命令行:ln -s 123 softlink 快捷方式 int symlink(const char *oldpath, const char *newpath); 功能: 创建一个链接向oldpath文件的新符号链接文件 参数: oldpath:被链接向…...
SQLALchemy ORM 的关联关系之 ORM 中的多对多
SQLALchemy ORM 的关联关系之 ORM 中的多对多 场景示例实现多对多关系定义模型插入和查询数据总结在 SQLAlchemy ORM 中,多对多(Many-to-Many)关联关系是一种常见的关系类型,它表示两个表中的行可以相互关联,即一个表中的多行可以与另一个表中的多行相关联。为了实现这种关…...
sdkman install慢,采用squid代理
(1)A机器,IP:yy.yy.yy.yy 安装squid yum install squidvi /etc/squid/squid.confacl allowed_ip src xx.xx.xx.xx http_access allow allowed_ip http_access deny allsystemctl restart squid 开放3128端口 (2)B机器,IP:xx.xx.xx.xx, export http_proxyhttp://y…...
实时监控Windows服务器:使用Prometheus和Grafana的终极方案
视频指南 【1】快速上手:在Windows系统上部署Prometheus与Grafana,实时监控性能指标 【2】快速上手:在Windows系统上部署Prometheus与Grafana,实时监控性能指标 1. 下载并安装 Prometheus 下载 Prometheus: 访问 Pro…...
【文科生能看懂的】牛顿二项式定理
牛顿二项式定理 简单的二项式整数次幂展开的结果中的规律结果中各项的指数结果中各项的系数 二项式定理 牛顿二项式定理就是用来求某个二项式的整数次幂的展开式的。 简单的二项式整数次幂 我们可以先从简单的情况开始,比如二项式 ( a b ) (ab) (ab)的整数次幂&a…...
Fly Catcher:通过监测恶意信号来检测飞机欺骗
Fly Catcher 的开发者 Angelina Tsuboi 是一名飞行员、网络安全研究员和发明家。 她决定着手一个将这三个不同兴趣结合起来的项目,以解决航空雷达系统的一个重大问题。 ADS-B 系统最初用于基本的飞机定位和跟踪,Tsuboi 对该系统的网络安全方面进行了深…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
