news 2026/9/9 5:21:32

ACPI!ACPIDetectFilterDevices函数分析和ACPI!ACPIBuildFilter函数分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ACPI!ACPIDetectFilterDevices函数分析和ACPI!ACPIBuildFilter函数分析

ACPI!ACPIDetectFilterDevices函数分析和ACPI!ACPIBuildFilter函数分析

0: kd> gu
Breakpoint 71 hit
eax=00000000 ebx=804ee150 ecx=f789a264 edx=00000000 esi=f743b620 edi=899c0d58
eip=f74076b8 esp=f789a230 ebp=f789a274 iopl=0 nv up ei ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000282
ACPI!ACPIGet:
f74076b8 55 push ebp
0: kd> kc
#
00 ACPI!ACPIGet
01 ACPI!ACPIDetectFilterDevices
02 ACPI!ACPIRootIrpQueryDeviceRelations
03 ACPI!ACPIDispatchIrp
04 nt!IofCallDriver
05 nt!IopSynchronousCall
06 nt!IopQueryDeviceRelations
07 nt!PipEnumerateDevice
08 nt!PipProcessDevNodeTree
09 nt!PipDeviceActionWorker
0a nt!PipRequestDeviceAction
0b nt!IopInitializeBootDrivers
0c nt!IoInitSystem
0d nt!Phase1Initialization
0e nt!PspSystemThreadStartup
0f nt!KiThreadStartup
0: kd> r
eax=00000000 ebx=804ee150 ecx=f789a264 edx=00000000 esi=f743b620 edi=899c0d58
eip=f74076b8 esp=f789a230 ebp=f789a274 iopl=0 nv up ei ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000282
ACPI!ACPIGet:
f74076b8 55 push ebp
0: kd> db f789a230
f789a230 a7 00 40 f7 58 0d 9c 89-5f 53 54 41 02 08 04 20 ..@.X..._STA...
f789a240 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
f789a250 64 a2 89 f7 00 00 00 00-18 1a 98 89 00 00 00 00 d...............
f789a260 b0 f5 9b 89 5c 67 a2 80-58 1b 98 89 00 00 00 00 ....\g..X.......
f789a270 18 1a 98 00 ac a2 89 f7-3c ef 44 f7 98 1b 98 89 ........<.D.....
f789a280 a0 75 98 89 00 00 00 00-ca ed 44 f7 07 f5 9b 89 .u........D.....
f789a290 01 ed 04 f7 01 00 00 00-98 a2 89 f7 98 a2 89 f7 ................
f789a2a0 18 1a 98 89 a0 75 98 89-02 03 00 01 e0 a2 89 f7 .....u..........
0: kd> dv
Target = 0x899c0d58
ObjectID = 0x4154535f
Flags = 0x20040802
SimpleArgument = 0x00000000
SimpleArgumentSize = 0
CallBackRoutine = 0x00000000
CallBackContext = 0x00000000
Buffer = 0xf789a264
BufferSize = 0x00000000
completionRoutine = 0xf74076b9
status = 0n537135106
argument = struct _ObjData
argumentPtr = 0xf743b620
acpiObject = 0x899c0d58
deviceExtension = 0xf789a274
async = 0x00 ''
argumentCount = 0x899c0d58
0: kd> db 0x899c0d58
899c0d58 20 00 01 02 00 20 40 00-50 47 53 5f 00 00 00 00 .... @.PGS_....
899c0d68 0c 83 43 f7 00 00 00 00-00 00 00 00 00 00 00 00 ..C.............
899c0d78 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899c0d88 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899c0d98 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899c0da8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899c0db8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899c0dc8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0: kd> dt acpi!_DEVICE_EXTENSION 0x899c0d58
+0x000 Flags : 0x00402000`02010020
+0x000 UFlags : __unnamed
+0x008 Signature : 0x5f534750
+0x00c DebugFlags : 0
+0x010 DispatchTable : 0xf743830c IRP_DISPATCH_TABLE
+0x014 WorkContext : WORK_QUEUE_CONTEXT
+0x014 Fdo : _FDO_DEVICE_EXTENSION
+0x014 Filter : _FILTER_DEVICE_EXTENSION
+0x014 Pdo : _PDO_DEVICE_EXTENSION
+0x058 WorkQueue : EXTENSION_WORKER
+0x058 Button : BUTTON_EXTENSION
+0x058 Thermal : THERMAL_EXTENSION
+0x058 LinkNode : LINK_NODE_EXTENSION
+0x058 Dock : DOCK_EXTENSION
+0x058 Processor : _PROCESSOR_DEVICE_EXTENSION
+0x088 DeviceState : 0 ( Stopped )
+0x08c PreviousState : 0 ( Stopped )
+0x090 PowerInfo : _ACPI_POWER_INFO
+0x10c DeviceID : 0x899c1148 "ACPI\PNP0A03"
+0x10c Address : 0x899c1148
+0x110 InstanceID : (null)
+0x114 ResourceList : (null)
+0x118 PnpResourceList : (null)
+0x11c OutstandingIrpCount : 0n1
+0x120 ReferenceCount : 0n84
+0x124 HibernatePathCount : 0n0
+0x128 RemoveEvent : (null)
+0x12c AcpiObject : 0x899affac _NSObj
+0x130 DeviceObject : 0x899050e8 _DEVICE_OBJECT
+0x134 TargetDeviceObject : (null)
+0x138 PhysicalDeviceObject : 0x899050e8 _DEVICE_OBJECT
+0x13c ParentExtension : 0x89981a18 _DEVICE_EXTENSION
+0x140 ChildDeviceList : _LIST_ENTRY [ 0x899c0d38 - 0x8990efe8 ]
+0x148 SiblingDeviceList : _LIST_ENTRY [ 0x899ae150 - 0x89981b58 ]
+0x150 EjectDeviceHead : _LIST_ENTRY [ 0x899c0ea8 - 0x899c0ea8 ]
+0x158 EjectDeviceList : _LIST_ENTRY [ 0x899c0eb0 - 0x899c0eb0 ]

0: kd> db 0x899affac
899affac 4c ff 9a 89 ac 40 9b 89-f0 f0 9a 89 24 00 9b 89 L....@......$...
899affbc 50 43 49 30 30 f3 9a 89-4c ff 9a 89 00 00 06 00 PCI00...L.......

0: kd> gu
Breakpoint 4 hit
eax=00000000 ebx=c0000034 ecx=00000000 edx=00000000 esi=899c0d58 edi=0000000f
eip=f7409910 esp=f789a188 ebp=f789a1a8 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIInternalUpdateDeviceStatus:
f7409910 55 push ebp
0: kd> dv
DeviceExtension = 0x899c0d58
DeviceStatus = 0xf
oldIrql = 0x00 ''

0: kd> kc
#
00 ACPI!ACPIInternalUpdateDeviceStatus
01 ACPI!ACPIGetConvertToDevicePresence
02 ACPI!ACPIGetWorkerForInteger
03 ACPI!ACPIGet
04 ACPI!ACPIDetectFilterDevices
05 ACPI!ACPIRootIrpQueryDeviceRelations
06 ACPI!ACPIDispatchIrp
07 nt!IofCallDriver
08 nt!IopSynchronousCall
09 nt!IopQueryDeviceRelations
0a nt!PipEnumerateDevice
0b nt!PipProcessDevNodeTree
0c nt!PipDeviceActionWorker
0d nt!PipRequestDeviceAction
0e nt!IopInitializeBootDrivers
0f nt!IoInitSystem
10 nt!Phase1Initialization
11 nt!PspSystemThreadStartup
12 nt!KiThreadStartup
0: kd> kv
# ChildEBP RetAddr Args to Child
00 f789a184 f7406da5 899c0d58 0000000f 89968640 ACPI!ACPIInternalUpdateDeviceStatus (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\internal.c @ 1060]
01 f789a1a8 f74073d9 899c0d58 c0000034 8996866c ACPI!ACPIGetConvertToDevicePresence+0xcf (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\get.c @ 1923]
02 f789a1d8 f7407935 00000000 c0000034 8996866c ACPI!ACPIGetWorkerForInteger+0x75 (FPO: [Non-Fpo]) (CONV: cdecl) [d:\srv03rtm\base\busdrv\acpi\driver\nt\get.c @ 4759]
03 f789a22c f74000a7 00000000 4154535f 20040802 ACPI!ACPIGet+0x27d (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\get.c @ 328]
04 f789a274 f744ef3c 89981b98 899875a0 00000000 ACPI!ACPIDetectFilterDevices+0xd9 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\detect.c @ 1546]
05 f789a2ac f740410e 89981b98 899bf507 89981b98 ACPI!ACPIRootIrpQueryDeviceRelations+0x172 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\root.c @ 633]
06 f789a2e0 80a2675c 89981b98 899bf5b0 899bf668 ACPI!ACPIDispatchIrp+0x19e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\dispatch.c @ 690]
07 f789a2fc 80c95e00 00000000 899c1008 899c1008 nt!IofCallDriver+0x62 (FPO: [Non-Fpo]) (CONV: fastcall) [d:\srv03rtm\base\ntos\io\iomgr\iosubs.c @ 2237]
08 f789a32c 80a2e3f3 00000000 f789a348 899c10e8 nt!IopSynchronousCall+0x1aa (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpirp.c @ 258]
09 f789a36c 80c8d810 00000000 899c1de0 00000000 nt!IopQueryDeviceRelations+0x39 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpirp.c @ 1131]
0a f789a388 80c94e01 899c1008 00000000 00000000 nt!PipEnumerateDevice+0x56 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c @ 980]
0b f789a5d4 80a2dde9 899c5ac8 00000000 899c4100 nt!PipProcessDevNodeTree+0x273 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c @ 4699]
0c f789a618 80a2e161 00000000 00000000 800836b0 nt!PipDeviceActionWorker+0xcd (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c @ 710]
0d f789a630 80e69358 00000000 00000005 00000000 nt!PipRequestDeviceAction+0x139 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c @ 598]
0e f789a694 80e655c7 80077000 f789a7dc 00034000 nt!IopInitializeBootDrivers+0x392 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpinit.c @ 1440]
0f f789a838 80e632fd 80077000 00000000 899a1020 nt!IoInitSystem+0x70b (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\iomgr\ioinit.c @ 665]
10 f789adac 80d391f0 80077000 00000000 00000000 nt!Phase1Initialization+0x9b3 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\init\init.c @ 2221]
11 f789addc 80b00d52 80e6294a 80077000 00000000 nt!PspSystemThreadStartup+0x2e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\ps\create.c @ 2213]
12 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16 [d:\srv03rtm\base\ntos\ke\i386\threadbg.asm @ 81]
0: kd> bp f74000a7
0: kd> g
Breakpoint 89 hit
eax=00000000 ebx=804ee150 ecx=04d30001 edx=04d20000 esi=f743b620 edi=899c0d58
eip=f74000a7 esp=f789a258 ebp=f789a274 iopl=0 nv up ei pl zr na po cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000243
ACPI!ACPIDetectFilterDevices+0xd9:
f74000a7 85c0 test eax,eax


0: kd> g
Breakpoint 89 hit
eax=00000000 ebx=804ee150 ecx=04d40001 edx=04d30000 esi=f743b620 edi=899ae008
eip=f74000a7 esp=f789a258 ebp=f789a274 iopl=0 nv up ei pl zr na pe cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000247
ACPI!ACPIDetectFilterDevices+0xd9:
f74000a7 85c0 test eax,eax
0: kd> kv
# ChildEBP RetAddr Args to Child
00 f789a274 f744ef3c 89981b98 899875a0 00000000 ACPI!ACPIDetectFilterDevices+0xd9 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\detect.c @ 1546]
01 f789a2ac f740410e 89981b98 899bf507 89981b98 ACPI!ACPIRootIrpQueryDeviceRelations+0x172 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\root.c @ 633]
02 f789a2e0 80a2675c 89981b98 899bf5b0 899bf668 ACPI!ACPIDispatchIrp+0x19e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\dispatch.c @ 690]
03 f789a2fc 80c95e00 00000000 899c1008 899c1008 nt!IofCallDriver+0x62 (FPO: [Non-Fpo]) (CONV: fastcall) [d:\srv03rtm\base\ntos\io\iomgr\iosubs.c @ 2237]
04 f789a32c 80a2e3f3 00000000 f789a348 899c10e8 nt!IopSynchronousCall+0x1aa (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpirp.c @ 258]
05 f789a36c 80c8d810 00000000 899c1de0 00000000 nt!IopQueryDeviceRelations+0x39 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpirp.c @ 1131]
06 f789a388 80c94e01 899c1008 00000000 00000000 nt!PipEnumerateDevice+0x56 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c @ 980]
07 f789a5d4 80a2dde9 899c5ac8 00000000 899c4100 nt!PipProcessDevNodeTree+0x273 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c @ 4699]
08 f789a618 80a2e161 00000000 00000000 800836b0 nt!PipDeviceActionWorker+0xcd (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c @ 710]
09 f789a630 80e69358 00000000 00000005 00000000 nt!PipRequestDeviceAction+0x139 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpenum.c @ 598]
0a f789a694 80e655c7 80077000 f789a7dc 00034000 nt!IopInitializeBootDrivers+0x392 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\pnpmgr\pnpinit.c @ 1440]
0b f789a838 80e632fd 80077000 00000000 899a1020 nt!IoInitSystem+0x70b (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\iomgr\ioinit.c @ 665]
0c f789adac 80d391f0 80077000 00000000 00000000 nt!Phase1Initialization+0x9b3 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\init\init.c @ 2221]
0d f789addc 80b00d52 80e6294a 80077000 00000000 nt!PspSystemThreadStartup+0x2e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\ps\create.c @ 2213]
0e 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16 [d:\srv03rtm\base\ntos\ke\i386\threadbg.asm @ 81]
0: kd> bp f744ef3c
0: kd> g
Breakpoint 89 hit
eax=00000000 ebx=804ee150 ecx=04d50001 edx=04d40000 esi=f743b620 edi=899aee58
eip=f74000a7 esp=f789a258 ebp=f789a274 iopl=0 nv up ei pl zr na po cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000243
ACPI!ACPIDetectFilterDevices+0xd9:
f74000a7 85c0 test eax,eax
0: kd> g
Breakpoint 89 hit
eax=00000000 ebx=804ee150 ecx=04d60001 edx=04d50000 esi=f743b620 edi=899aec58
eip=f74000a7 esp=f789a258 ebp=f789a274 iopl=0 nv up ei pl zr na po cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000243
ACPI!ACPIDetectFilterDevices+0xd9:
f74000a7 85c0 test eax,eax
0: kd> g
Breakpoint 89 hit
eax=00000000 ebx=804ee150 ecx=04d70001 edx=04d60000 esi=f743b620 edi=899aea40
eip=f74000a7 esp=f789a258 ebp=f789a274 iopl=0 nv up ei pl zr na pe cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000247
ACPI!ACPIDetectFilterDevices+0xd9:
f74000a7 85c0 test eax,eax
0: kd> g
Breakpoint 89 hit
eax=00000000 ebx=804ee150 ecx=04d80001 edx=04d70000 esi=f743b620 edi=899ab690
eip=f74000a7 esp=f789a258 ebp=f789a274 iopl=0 nv up ei pl zr na pe cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000247
ACPI!ACPIDetectFilterDevices+0xd9:
f74000a7 85c0 test eax,eax
0: kd> g
Breakpoint 89 hit
eax=00000000 ebx=804ee150 ecx=04d90001 edx=04d80000 esi=f743b620 edi=8990eaf0
eip=f74000a7 esp=f789a258 ebp=f789a274 iopl=0 nv up ei pl zr na po cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000243
ACPI!ACPIDetectFilterDevices+0xd9:
f74000a7 85c0 test eax,eax
0: kd> g
Breakpoint 89 hit
eax=00000000 ebx=804ee150 ecx=04da0001 edx=04d90000 esi=f743b620 edi=8990e8d8
eip=f74000a7 esp=f789a258 ebp=f789a274 iopl=0 nv up ei pl zr na po cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000243
ACPI!ACPIDetectFilterDevices+0xd9:
f74000a7 85c0 test eax,eax
0: kd> g
Breakpoint 89 hit
eax=00000000 ebx=804ee150 ecx=04db0001 edx=04da0000 esi=f743b620 edi=89906008
eip=f74000a7 esp=f789a258 ebp=f789a274 iopl=0 nv up ei pl zr na pe cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000247
ACPI!ACPIDetectFilterDevices+0xd9:
f74000a7 85c0 test eax,eax
0: kd> g
Breakpoint 89 hit
eax=00000000 ebx=804ee150 ecx=04dc0001 edx=04db0000 esi=f743b620 edi=89906ea0
eip=f74000a7 esp=f789a258 ebp=f789a274 iopl=0 nv up ei pl zr na po cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000243
ACPI!ACPIDetectFilterDevices+0xd9:
f74000a7 85c0 test eax,eax
0: kd> g
Breakpoint 92 hit
eax=00000000 ebx=899bf5b0 ecx=00000000 edx=00000000 esi=00000000 edi=89981a18
eip=f744ef3c esp=f789a284 ebp=f789a2ac iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIRootIrpQueryDeviceRelations+0x172:
f744ef3c 50 push eax

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 8:26:36

真的太省时间 8个AI论文工具测评:研究生毕业论文+科研写作全场景推荐

在当前学术研究日益繁重的背景下&#xff0c;研究生群体面临着论文写作、文献检索、格式规范等多重挑战。如何高效地完成科研任务&#xff0c;已成为影响毕业进度与成果质量的关键因素。为此&#xff0c;我们基于2026年的实测数据与真实用户反馈&#xff0c;针对市面上主流的AI…

作者头像 李华
网站建设 2026/9/9 5:18:58

Nginx 高频面试题(含答案)

一、基础概念题&#xff08;必问&#xff09;1. Nginx 是什么&#xff1f;核心应用场景&#xff1f;Nginx 是高性能、轻量级的 HTTP Web 服务器、反向代理服务器、邮件代理服务器。核心场景&#xff1a;静态资源 Web 服务&#xff08;HTML/CSS/JS/ 图片&#xff09;反向代理、负…

作者头像 李华
网站建设 2026/9/3 0:40:28

Java面试必看:XML文档定义与解析方式全面剖析

文章目录 Java面试必看&#xff1a;XML文档定义与解析方式全面剖析一、XML概述&#xff1a;为什么我们需要XML&#xff1f;XML的特点为什么在Java中使用XML&#xff1f; 二、XML文档定义方式1. DTD&#xff08;Document Type Definition&#xff09;DTD的基本结构DTD的优点与缺…

作者头像 李华
网站建设 2026/8/29 7:02:31

超越Adam:深入探索Nesterov动量与自适应学习率优化器及其实现

好的&#xff0c;收到您的需求。我将以“超越Adam&#xff1a;深入探索Nesterov动量与自适应学习率优化器及其实现”为题&#xff0c;撰写一篇深入、新颖且适合开发者阅读的技术文章。 以下是为您生成的完整文章。超越Adam&#xff1a;深入探索Nesterov动量与自适应学习率优化器…

作者头像 李华
网站建设 2026/9/5 22:35:18

Spark做ETL,与Ray/Daft做特征工程的区别在哪里,如何选型?

如果你熟悉 Spark&#xff0c;大概率会有过这样的困惑&#xff1a;Spark都统治大数据领域十年了&#xff0c;算子成熟、生态完善&#xff0c;为什么做特征工程时&#xff0c;大家还要费劲巴拉去学Ray Data、Daft这些新框架&#xff1f;更不用说&#xff0c;这些新框架的API&…

作者头像 李华