【Linux环境配置】EPYC7642双路服务器Ubuntu22.04安装配置纪要

文章目录

  • 1. 硬件环境配置
    • 1.1 WiFi网卡配置
    • 1.2 机械键盘配置
      • 1.2.1 快速配置
      • 1.2.2 按键确认
      • 1.2.3 配置存储
    • 1.3 声卡和输出
  • 2. 软件安装
    • 2.1 安装常用工具
      • 2.1.1 安装Chrome
      • 2.1.2 sogou 输入发安装
    • 2.2 开发工具安装
      • 2.2.1 安装 vscode
      • 2.2.2 文本比较工具
  • 3. 其他环境配置
      • X client, ssh settings
  • 4. 其他纪要
    • 4.1 使用Ubuntu 22.04.03 启动光盘挂死问题

1. 硬件环境配置

服务器核心配置为: 双路 EPYC7642 服务器, 显卡 GeForce RTX 3060, HDMI输出, 千兆网卡x2 …;

补充采购配件: USB/TypeC转千兆网卡(用于笔记本和服务器直连办公), DVI公 to HDMI母转接头(适配老款显示器), VGA公对公显示线, HDMI音频分离器, HDMI线x2, USB转3.5mm外置声卡, 腾达wifi6无线网卡U2v5, Ubuntu双频无线网卡1300M, TypeC扩展坞, USB分线器, 爱国者USB128G, 公牛插线板, JZ990机械键盘 …;

系统默认安装了win10, 使用 ventoy 工具制作ISO启动盘后, 直接开整;

1.1 WiFi网卡配置

  • 说明: 有一张edimax免驱的迷你2.4g无线网卡 EDIMAX EW-7811UnV2, 兼容性很好,但 在屋里信号不强, 下载较慢, 所以入手了其他支持内核6.2以上新版本的网卡;
  • 当前性价比很高的是 腾达的 U2 v5有个增益天线, 支持Linux 6的内核, 腾达驱动下载官网: https://www.tenda.com.cn/download/default.html
wget https://down.tenda.com.cn/uploadfile/U2/AX300%20USB%E7%BD%91%E5%8D%A1Linux%E9%A9%B1%E5%8A%A8-%20X86%E6%9E%B6%E6%9E%84.zip
# 解压后, 安装对应的deb包
sudo dpkg -i ./AX300-WiFi-Adapter-Linux-Driver-amd64.deb

1.2 机械键盘配置

找了一堆键盘, 询问客户都是 Linux未适配, 不支持, 细问呢, 说Fx的功能键可能有问题, 但是手头送的键盘的确太矬了, 还是想换一个带数字小键盘的机械键盘来用用, 选了一圈都没有说支持的, 只能随便选一个至少支持mac(mac本质也是个Linux)的, 实在不行就不用功能键了?还好最后都搞定了。

入手的一款京东的JZ990, Gasket Pro有线机械键盘, 支持Windows和Mac两种模式, 直接以Windows模式在Linux下使用, 基本按键是正常的, 但是F1~F12 默认是多媒体按键; 用来做开发就比较头大了;

  • 切换成Mac模式也能用, Fn+M长按直到背光灯闪烁5次, 进入 Mac 模式, 通过 Fn+F1 ~ Fn+F12 的方式可以成功输出 F1~F12;
  • alt和win的按键在mac下用的不习惯, 果断把 Fn+W 长按直到背光灯闪烁5次, 切换成 Windows 模式, 通过 Fn+F1 ~ Fn+F12 的方式可以成功输出 F1~F12;

1.2.1 快速配置

sudo modprob hid-apple
echo 0 | sudo tee /sys/module/hid_apple/parameters/fnmode
  • fnmode 取值含义
ValueFunctionDescription
0disabledDisables the ‘fn’ key. This means that pressing F2 will trigger F2 to be pressed and not the special action key. Pressing ‘fn’ + F2 will just press the F2 key as normal.
1fkeyslastFunction keys are used as the last key. Pressing F2 will act as the special key. Pressing ‘fn’ + F2 will trigger F2.
2fkeysfirstFunction keys are used as the first key. Pressing F2 will act as triggering F2. Pressing ‘fn’ + F2 will act as the special key.

1.2.2 按键确认

每次按功能键还要带上Fn也不太方便, 那就设置一下默认的识别方式, 作为功能键优先就更好, 使用 长按按键Fn+Pause 键组合, 直到功能键区域闪烁5次, 再次进行按键测试, 发现已经成功切换成功能键优先啦;

  • 简易按键测试:

直接打开vim 或 gvim, 进入命令模式(依次按 Esc / 冒号: ), 在窗口最下方的命令行中 直接按 功能键, 会显示当前的按键, 形式为:

<F1><F2><F3> ...
  • 仔细按键测试如下:

执行命令 xev 即可, 按键事件正常识别说明就可以用了, PS: 使用命令 xmodmap 可以进行按键绑定, 此处不再展开;

xev
  • 我的键盘测试结果如下, 与实际按键匹配, 到此成功:
KeyPress event, serial 42, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9621052, (1124,412), root:(1294,576),state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9621213, (1124,412), root:(1294,576),state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9622590, (1124,412), root:(1294,576),state 0x10, keycode 68 (keysym 0xffbf, F2), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9622752, (1124,412), root:(1294,576),state 0x10, keycode 68 (keysym 0xffbf, F2), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9623074, (1124,412), root:(1294,576),state 0x10, keycode 69 (keysym 0xffc0, F3), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9623235, (1124,412), root:(1294,576),state 0x10, keycode 69 (keysym 0xffc0, F3), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9623712, (1124,412), root:(1294,576),state 0x10, keycode 70 (keysym 0xffc1, F4), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9623875, (1124,412), root:(1294,576),state 0x10, keycode 70 (keysym 0xffc1, F4), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9624155, (1124,412), root:(1294,576),state 0x10, keycode 71 (keysym 0xffc2, F5), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9624356, (1124,412), root:(1294,576),state 0x10, keycode 71 (keysym 0xffc2, F5), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9624872, (1124,412), root:(1294,576),state 0x10, keycode 72 (keysym 0xffc3, F6), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9625034, (1124,412), root:(1294,576),state 0x10, keycode 72 (keysym 0xffc3, F6), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9625433, (1124,412), root:(1294,576),state 0x10, keycode 73 (keysym 0xffc4, F7), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9625673, (1124,412), root:(1294,576),state 0x10, keycode 73 (keysym 0xffc4, F7), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9626306, (1124,412), root:(1294,576),state 0x10, keycode 74 (keysym 0xffc5, F8), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9626548, (1124,412), root:(1294,576),state 0x10, keycode 74 (keysym 0xffc5, F8), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9626985, (1124,412), root:(1294,576),state 0x10, keycode 75 (keysym 0xffc6, F9), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9627225, (1124,412), root:(1294,576),state 0x10, keycode 75 (keysym 0xffc6, F9), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9627584, (1124,412), root:(1294,576),state 0x10, keycode 76 (keysym 0xffc7, F10), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9627824, (1124,412), root:(1294,576),state 0x10, keycode 76 (keysym 0xffc7, F10), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9628496, (1124,412), root:(1294,576),state 0x10, keycode 95 (keysym 0xffc8, F11), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9628776, (1124,412), root:(1294,576),state 0x10, keycode 95 (keysym 0xffc8, F11), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9629057, (1124,412), root:(1294,576),state 0x10, keycode 96 (keysym 0xffc9, F12), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyRelease event, serial 43, synthetic NO, window 0x4800001,root 0x204, subw 0x0, time 9629259, (1124,412), root:(1294,576),state 0x10, keycode 96 (keysym 0xffc9, F12), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: False

1.2.3 配置存储

  • 配置持久化, 方便以后重启后可以直接使用;
echo options hid_apple fnmode=0 | sudo tee /etc/modprobe.d/hid_apple.conf
sudo update-initramfs -u -k all

1.3 声卡和输出

这个折腾了蛮久, 一直没声音, 各种检查, 最后发现是当前配置的服务器没有集成声卡。 通过显卡的HDMI输出才行, 得搞个 HDMI的音频分离器 或者就弄个HDMI的回音壁之类的才行, 可是我这个HDMI用来接显示屏的。。。 所以还是弄个分离器吧;

  • 查看声卡
lspci |grep -i audio
  • 需要使用配置工具 pavucontrol 来选择声卡等, 发现只有HDMI的, 还不可用。。

  • 查看输出设备

使用命令 aplay -l 检查方法如下, 笔记本有声卡ALC256, PC上只有 HDA NVidia :

# 笔记本配置对比
neo@neo-hw-matebookxpro:~
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC256 Analog [ALC256 Analog]Subdevices: 1/1Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]Subdevices: 1/1Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]Subdevices: 1/1Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]Subdevices: 1/1Subdevice #0: subdevice #0# 当前的服务器PC
neo@neo-pc:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]Subdevices: 1/1Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]Subdevices: 1/1Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]Subdevices: 1/1Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]Subdevices: 1/1Subdevice #0: subdevice #0

2. 软件安装

2.1 安装常用工具

2.1.1 安装Chrome

使用Ctrl+Alt+T快捷键或者点击终端图标,打开你的终端。

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb

2.1.2 sogou 输入发安装

  • 安装指导: https://shurufa.sogou.com/linux/guide
wget https://ime-sec.gtimg.com/202401211106/350c7c52308cff9ebbec2b25d8f209ba/pc/dl/gzindex/1680521603/sogoupinyin_4.2.1.145_amd64.deb
sudo apt install ./sogoupinyin_4.2.1.145_amd64.deb

2.2 开发工具安装

2.2.1 安装 vscode

  • 下载网址: https://code.visualstudio.com/Download
wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/8b3775030ed1a69b13e4f4c628c612102e30a681/code_1.85.2-1705561292_amd64.deb
sudo apt install ./code_1.85.2-1705561292_amd64.deb

2.2.2 文本比较工具

  • 常见的有 vimiff / meld
sudo apt-get install meld

3. 其他环境配置

X client, ssh settings

Configure the ssh daemon on the X client to forward X11, ensure “/etc/ssh/sshd_config” has the following values.

# use 'inet' instead of 'any' to allow X11UseLocalhost=yes
AddressFamily inetX11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
TCPKeepAlive yes
  • 重启远程电脑的服务
sudo systemctl restart sshd
sudo systemctl status sshd
  • 注意, 登录远程电脑时, 带上 -X 参数, eg: ssh -X neo@$lap

4. 其他纪要

4.1 使用Ubuntu 22.04.03 启动光盘挂死问题

现象1: 在进入grub选择 try 选项后, 就直接卡死了;
现象2: 使用同版本的ubuntu kylin, 成功进入, 网卡有点问题, 就想重装个原版;

分析: 怀疑是显卡驱动问题, 在grub界面选择 safe graphic模式进入, 居然成功了, 进去安装的时候, 没有选择更新 第三方驱动, 最后安装后启动失败, 卡死了;

解决:找 朴赛 售后, 提供了一个同版本的包含显卡驱动的iso, 重新安装了一波, 就好了, 终于可以正常使用了;

其他方法猜想: 在iso启动的安装过程中, 启动网卡(我的是无线网卡就没有去折腾), 安装时带上第三方驱动, 应该也可以解决这个问题 :) , 后续内核升级要注意, 别把显卡驱动弄丢了, 到时候进入不了系统就麻烦;

后记:这个周末就献给了新系统的折腾, 后面正式把这个服务器电脑弄起来能力提升;
开心的记录: 以前笔记本编译完整内核跑了6h以上, 用当前这个 epyc双路服务器, 开了 make -j64, 大概20分钟就编译完成, 果然是很不错, 开心!!!

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

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

相关文章

如何评估供应商的绩效

在供应链管理中,评估供应商的绩效是一个至关重要的环节。通过对供应商的绩效进行评估,企业可以了解供应商的实际表现,并采取相应的措施进行改进或调整。以下是一些评估供应商绩效的关键方面: 产品质量产品质量是评估供应商绩效的重要指标之一。企业应关注供应商提供的产品是…

【C语言基础考研向】08判断语句与循环语句

1.关系表达式与逻辑表达式 算术运算符的优先级高于关系运算符、关系运算符的优先级高于逻辑与和逻辑或运算符、相同优先级的运算符从左至右进行结合等&#xff0c;那么表达式5>3&&8<4-!0的最终值是多少?其计算过程如下图所示。 2.if-else语句 引入:在你打开衣…

[小程序]使用代码渲染页面

一、条件渲染 1.单个控制 使用wx:if"{{条件}}"来判断是否需要渲染这段代码&#xff0c;同时可以结合wx:elif和wx:else来判断 <view wx:if"{{type0}}">0</view> <view wx:elif"{{type1}}">1</view> <view wx:else>…

MySQL UNION 操作符

昨天介绍了 MySQL 数据库使用 LIKE 子句来进行筛选查询&#xff0c;今天主要讲解下 MySQL UNION 操作符。 MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合&#xff0c;并去除重复的行。UNION 操作符必须由两个或多个 SELECT 语句组成&#xff0c;每…

Angular系列教程之父子组件通信详解

文章目录 前言组件通信方法1. 输入属性&#xff08;Input Properties&#xff09;2. 输出属性&#xff08;Output Properties&#xff09;3. 服务&#xff08;Services&#xff09;4. ViewChild与ContentChild 示例代码说明结论 前言 在Angular应用程序开发中&#xff0c;父子…

将输入框的数据输出成json

刚学&#xff0c;做一下记录 先上效果图&#xff0c;来不及解释了&#xff0c;后面再说 源码&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1pV8hDVwpB1kresHag7gIew 提取码&#xff1a;**** 操作&#xff1a; 进入项目目录下&#xff0c;cmd 清除npm缓存&#xff1…

(二十三)Kubernetes系列之prometheus+grafana安装

1.kube-prometheus安装 1.1 下载 访问地址&#xff1a;https://github.com/prometheus-operator/kube-prometheus/releases 点击Source code (tar.gz)进行下载&#xff0c;并上传到k8s服务器master节点 1.2解压 tar zxvf kube-prometheus-0.11.0.tar.gz 1.3进入kube-prome…

C++函数对象-函数包装器-调用空的 std::function 时抛出的异常(std::bad_function_call)

任何定义了函数调用操作符的对象都是函数对象。C 支持创建、操作新的函数对象&#xff0c;同时也提供了许多内置的函数对象。 函数包装器 std::function 提供存储任意类型函数对象的支持。 用空的 std::function 时抛出的异常 std::bad_function_call class bad_function_cal…

“gradle project sync failed”

很久没打开AndroidStudio了&#xff0c;打开电脑发现这个软件都没了。重新安装后创建项目不成功&#xff0c;就提示了这个错误。 错误原因 “gradle project sync failed”&#xff1a;gradle没有配置成功。在安卓项目下找到目标文件&#xff1a;gradle --> wrapper -->…

尝试解决githubclone失败问题

BV1qV4y1m7PB 根据这个视频 似乎是我的linux的github似乎下好了 我没有配置好 比如我的ssh-key 现在根据视频试试 首先需要跳转到ssh的文件夹&#xff1a; cd ~/.ssh 然后生成一个ssh-key&#xff1a; ssh-keygen -t rsa -C "<github资料里的邮箱>" 然后…

面试题String怎么帮助我们处理循环依赖的?

String怎么帮助我们处理循环依赖的&#xff1f; 三级缓存。三级缓存存的是什么样的数据&#xff1f; 一级缓存Map 存放完整的Bean&#xff08;流程跑完的&#xff09;、 二级缓存Map 存放不完整的Bean&#xff08;只实例化完&#xff0c;还没属性赋值、初始化&#xff09;、…

IaC基础设施即代码:Terraform 创建 docker 网络与容器资源

目录 一、实验 1.环境 2.Terraform查看版本 3.Linux主机安装Docker 4.Terraform使用本地编译&#xff08;In-house&#xff09;的Providers 5.Docker-CE 开启远程API 6. Linux主机拉取镜像 7.Terraform 创建docker 网络资源 8.Terraform 创建docker 容器资源 一、实验 …

C语言算法赛——蓝桥杯(省赛试题)

一、十四届C/C程序设计C组试题 十四届程序C组试题A#include <stdio.h> int main() {long long sum 0;int n 20230408;int i 0;// 累加从1到n的所有整数for (i 1; i < n; i){sum i;}// 输出结果printf("%lld\n", sum);return 0; }//十四届程序C组试题B…

[机缘参悟-129] :我个人对人生之苦解决之道的思考

目录 前言&#xff1a; 第1层&#xff1a;环境层 1.1 环境的分类 1.2 理解环境的运作的基本原理 1.3 主动选择适合自己的愉快的环境 1.4 主动构建适合自己的愉快的环境 第2层&#xff1a;生理层 2.1 生理健康和情绪之间的关系 2.2 学习人的生物、生理、健康的基本知识…

基于SpringBoot Vue档案管理系统

大家好✌&#xff01;我是Dwzun。很高兴你能来阅读我&#xff0c;我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结&#xff0c;还为大家分享优质的实战项目&#xff0c;本人在Java项目开发领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#x…

(2024,小波变换,空文本反演,负提示反演)基于扩散的图像编辑中文本反演的小波引导加速

Wavelet-Guided Acceleration of Text Inversion in Diffusion-Based Image Editing 公众号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 2. 初步分析 2.1. 空文本优化分析 2.2. 频率…

Linux命令---安装rz、sz上传和下载命令

介绍 使用linux命令上传rz、sz文件上传和下载命令 命令 yum install lrzsz -y

数据结构之树和二叉树定义

数据结构之树和二叉树定义 1、树的定义2、树的基本概念3、二叉树的定义 数据结构是程序设计的重要基础&#xff0c;它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发&#xff0c;分析和研究计算机加工的数据的特性&#xff0c;以…

Web03--CSS进阶

1、CSS常用属性 1.1 文本字体相关属性设置 样式名 描述 text-align 设置内容位置 text-decoration 控制下划线 none没有 underline有 line-hight 行高 font-size 设置字体大小 font-weight 设置字体粗细的 font-famliy 设置字体样式 letter-spacing 设置中文字…

【Python代码】以线性模型为例,详解深度学习算法流程,包括数据生成、定义模型、损失函数、优化算法和训练

**使用带有噪声的线性模型构造数据集&#xff0c;并根据有限的数据恢复该线性模型的参数。**其中包括数据集构造、模型参数初始化、损失函数定义、定义优化算法和训练等过程。是大多数算法实现过程的一个缩影&#xff0c;理解此过程有助于在开发或改进算法时更深刻了解其算法的…