第三周——项目实践(已完) Day5 7.15

【OpenClaw从入门到精通】第73篇:30天OpenClaw实战挑战——从零搭建个人数字助理(Day15-21)万字超详细高阶实战版 经过前两周的基础部署与功能搭建,你已拥有可自动化干活的AI助理与数字员工团队,但距离“高阶精通”仍有差距。本文聚焦第三周(Day15-21)核心实战,围绕安全审计、语音能力接入、Token成本控制、Agent Loop优化、One-Liner指令五大核心模块,结合真实落地案例与踩坑经验,提供超详细实操指南。通过本文,你将掌握生产级安全加固方案、语音交互全流程配置、低成本高性价比使用策略、Agent自主闭环优化技巧,以及一句话搞定复杂任务的高效指令用法,同时完成中期复盘与最后九天冲刺规划 阅读详情

学习时间:8:30——10:30               14:00—16:00

《外星人入侵》(2D游戏)已经完成,以下是文件和代码:

文件

alien_invasion.py

import sys

from time import sleep

import pygame

from settings import Settings
from game_stats import GameStats
from scoreboard import Scoreboard
from button import Button
from ship import Ship
from bullet import Bullet
from alien import Alien

class AlienInvasion:                                                             #管理游戏资源和行为的类
    def __init__(self):                                                          #初始化游戏并创建游戏资源
        pygame.init()
        self.settings = Settings()
        self.screen = pygame.display.set_mode((0,0),pygame.FULLSCREEN)
        self.settings.screen_width = self.screen.get_rect().width
        self.settings.screen_height = self.screen.get_rect().height

        pygame.display.set_caption("Alien Invasion")

        self.stats = GameStats(self)
        self.sb = Scoreboard(self)

        self.ship = Ship(self)
        self.bullets = pygame.sprite.Group()
        self.aliens = pygame.sprite.Group()
        self._create_fleet()

        self.play_button = Button(self,"Play")

    def run_game(self):                                                          #开始游戏的主循环
        while True:                                                              #监视键盘和鼠标事件
            self._check_events()

            if self.stats.game_active:
                self.ship.update()
                self._update_bullets()
                self._update_aliens()

            self._update_screen()

    def _update_bullets(self):
        self.bullets.update()
        for bullet in self.bullets.copy():
            if bullet.rect.bottom <= 0:
                self.bullets.remove(bullet)
        self._check_bullet_alien_collisions()

    def _check_bullet_alien_collisions(self):
        collidions = pygame.sprite.groupcollide(self.bullets,self.aliens,True,True)
        if collidions:
            for aliens in collidions.values():
                self.stats.score += self.settings.alien_points * len(aliens)
                self.sb.prep_score()
                self.sb.check_high_score()

        if not self.aliens:
            self.bullets.empty()
            self._create_fleet()
            self.settings.increase_speed()

            self.stats.level += 1
            self.sb.prep_level()

    def _ship_hit(self):
        if self.stats.ships_left > 0:
            self.stats.ships_left -= 1
            self.sb.prep_ships()

            self.aliens.empty()
            self.bullets.empty()

            self._create_fleet()
            self.ship.center_ship()

            sleep(0.5)
        else:
            self.stats.game_active = False
            pygame.mouse.set_visible(True)

    def _check_aliens_bottom(self):
        screen_rect = self.screen.get_rect()
        for alien in self.aliens.sprites():
            if alien.rect.bottom >= screen_rect.bottom:
                self._ship_hit()
                break

    def _update_aliens(self):
        self._check_fleet_edges()
        self.aliens.update()
        if pygame.sprite.spritecollideany(self.ship,self.aliens):
            self._ship_hit()
        self._check_aliens_bottom()

    def _check_events(self):                                                 #响应按键和鼠标事件
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                self._check_keydowm_events(event)
            elif event.type == pygame.KEYUP:
                self._check_keyup_events(event)
            elif event.type == pygame.MOUSEBUTTONDOWN:
                mouse_pos = pygame.mouse.get_pos()
                self._check_play_button(mouse_pos)

    def _check_play_button(self,mouse_pos):
        button_clicked = self.play_button.rect.collidepoint(mouse_pos)
        if button_clicked and not self.stats.game_active:
            self.settings.initialize_dynamic_settings()
            self.stats.reset_stats()
            self.stats.game_active = True
            self.sb.prep_score()
            self.sb.prep_level()
            self.sb.prep_ships()

            self.aliens.empty()
            self.bullets.empty()

            self._create_fleet()
            self.ship.center_ship()

            pygame.mouse.set_visible(False)

    def _check_keydowm_events(self, event):
        if event.key == pygame.K_RIGHT:
            self.ship.moving_right = True
        elif event.key == pygame.K_LEFT:
            self.ship.moving_left = True
        elif event.key == pygame.K_q:
            sys.exit()
        elif event.key == pygame.K_SPACE:
            self._fire_bullet()

    def _check_keyup_events(self, event):
        if event.key == pygame.K_RIGHT:
            self.ship.moving_right = False
        if event.key == pygame.K_LEFT:
            self.ship.moving_left = False

    def _fire_bullet(self):
        if len(self.bullets) < self.settings.bullets_allowed:
            new_bullet = Bullet(self)
            self.bullets.add(new_bullet)

    def _create_fleet(self):
        alien = Alien(self)
        alien_width, alien_height = alien.rect.size
        available_space_x = self.settings.screen_width - (2* alien_width)
        number_aliens_x = available_space_x // (2* alien_width)

        ship_height = self.ship.rect.height
        available_space_y = (self.settings.screen_height-(3*alien_height)-ship_height)
        number_rows = available_space_y // (2*alien_height)

        for row_number in range(number_rows):
            for alien_number in range(number_aliens_x):
                self._create_alien(alien_number,row_number)

    def _create_alien(self,alien_number,row_number):
        alien = Alien(self)
        alien_width,alien_height = alien.rect.size
        alien.x = alien_width + 2*alien_width * alien_number
        alien.rect.x = alien.x
        alien.rect.y = alien.rect.height+ 2* alien.rect.height * row_number
        self.aliens.add(alien)

    def _check_fleet_edges(self):
        for alien in self.aliens.sprites():
            if alien.check_edges():
                self._change_fleet_direction()
                break

    def _change_fleet_direction(self):
        for alien in self.aliens.sprites():
            alien.rect.y += self.settings.fleet_drop_speed
        self.settings.fleet_direction *= -1

    def _update_screen(self):
        self.screen.fill(self.settings.bg_color)
        self.ship.blitime()
        for bullet in self.bullets.sprites():
            bullet.draw_bullet()
        self.aliens.draw(self.screen)
        self.sb.show_score()

        if not self.stats.game_active:
            self.play_button.draw_button()

        pygame.display.flip()                                                #让最近绘制的屏幕可见

if __name__ == '__main__':                                                       #创建游戏实例并运行
    ai = AlienInvasion()
    ai.run_game()

 alien.py

import pygame
from pygame.sprite import Sprite

class Alien(Sprite):
    def __init__(self,ai_game):
        super().__init__()
        self.screen = ai_game.screen
        self.settings = ai_game.settings
        self.image = pygame.image.load('images/alien.bmp')
        self.rect = self.image.get_rect()

        self.rect.x = self.rect.width
        self.rect.y = self.rect.height

        self.x = float(self.rect.x)

    def check_edges(self):
        screen_rect = self.screen.get_rect()
        if self.rect.right >= screen_rect.right or self.rect.left <= 0:
            return True

    def update(self):
        self.x += (self.settings.alien_speed * self.settings.fleet_direction)
        self.rect.x = self.x

bullet.py

import pygame
from pygame.sprite import Sprite

class Bullet(Sprite):
    def __init__(self,ai_game):
        super().__init__()
        self.screen = ai_game.screen
        self.settings = ai_game.settings
        self.color = self.settings.bullet_color

        self.rect = pygame.Rect(0, 0, self.settings.bullet_width,self.settings.bullet_height)
        self.rect.midtop = ai_game.ship.rect.midtop

        self.y = float(self.rect.y)

    def update(self):
        self.y -=self.settings.bullet_speed
        self.rect.y = self.y

    def draw_bullet(self):
        pygame.draw.rect(self.screen,self.color,self.rect)

ship.py

import pygame
from pygame.sprite import Sprite

class Ship(Sprite):
    def __init__(self,ai_game):                                      #初始化飞船并设置其初始位置
        super().__init__()
        self.screen = ai_game.screen
        self.settings = ai_game.settings
        self.screen_rect = ai_game.screen.get_rect()

        self.image = pygame.image.load('images/ship.bmp')
        self.rect = self.image.get_rect()
        self.rect.midbottom = self.screen_rect.midbottom             #将每艘新的飞船都放在屏幕底部中央

        self.x = float(self.rect.x)
        self.moving_right = False
        self.moving_left = False

    def update(self):
        if self.moving_right and self.rect.right < self.screen_rect.right:
            self.x += self.settings.ship_speed
        if self.moving_left and self.rect.left > 0:
            self.x -= self.settings.ship_speed
        self.rect.x = self.x

    def blitime(self):                                               #在指定位置绘制飞船
        self.screen.blit(self.image,self.rect)

    def center_ship(self):
        self.rect.midbottom = self.screen_rect.midbottom
        self.x = float(self.rect.x)

button.py

import pygame.font

class Button:
    def __init__(self,ai_game,msg):
        self.screen = ai_game.screen
        self.screen_rect = self.screen.get_rect()

        self.width , self.height = 200 ,50
        self.button_color = (0,255,0)
        self.text_color = (255,255,255)
        self.font = pygame.font.SysFont(None,48)

        self.rect = pygame.Rect(0,0,self.width,self.height)
        self.rect.center = self.screen_rect.center

        self._prep_msg(msg)

    def _prep_msg(self,msg):
        self.msg_image = self.font.render(msg,True,self.text_color,self.button_color)
        self.msg_image_rect = self.msg_image.get_rect()
        self.msg_image_rect.center = self.rect.center


    def draw_button(self):
        self.screen.fill(self.button_color,self.rect)
        self.screen.blit(self.msg_image,self.msg_image_rect)

game_stats.py

class GameStats:
    def __init__(self,ai_game):
        self.settings = ai_game.settings
        self.reset_stats()
        self.game_active = False
        self.high_score = 0
        self.level = 1

    def reset_stats(self):
        self.ships_left = self.settings.ship_limit
        self.score = 0

scoreboard.py

import pygame.font
from pygame.sprite import Group

from ship import Ship

class Scoreboard:
    def __init__(self,ai_game):
        self.ai_game = ai_game
        self.screen = ai_game.screen
        self.screen_rect = self.screen.get_rect()
        self.settings = ai_game.settings
        self.stats = ai_game.stats

        self.text_color = (30,30,30)
        self.font = pygame.font.SysFont(None,48)

        self.prep_score()
        self.prep_high_score()
        self.prep_level()
        self.prep_ships()

    def prep_score(self):
        rounded_score = round(self.stats.score,-1)
        score_str = "{:,}".format(rounded_score)
        self.score_image = self.font.render(score_str,True,self.text_color,self.settings.bg_color)

        self.score_rect = self.score_image.get_rect()
        self.score_rect.right = self.screen_rect.right - 20
        self.score_rect.top = 20

    def prep_high_score(self):
        high_score = round(self.stats.high_score,-1)
        high_score_str = "{:,}".format(high_score)
        self.high_score_image = self.font.render(high_score_str,True,self.text_color,self.settings.bg_color)

        self.high_score_rect = self.high_score_image.get_rect()
        self.high_score_rect.centerx = self.screen_rect.centerx
        self.high_score_rect.top = self.score_rect.top

    def check_high_score(self):
        if self.stats.score > self.stats.high_score:
            self.stats.high_score = self.stats.score
            self.prep_high_score()

    def prep_level(self):
        level_str = str(self.stats.level)
        self.level_image = self.font.render(level_str,True,self.text_color,self.settings.bg_color)

        self.level_rect = self.level_image.get_rect()
        self.level_rect.right = self.score_rect.right
        self.level_rect.top = self.score_rect.bottom + 10

    def prep_ships(self):
        self.ships = Group()
        for ship_number in range(self.stats.ships_left):
            ship = Ship(self.ai_game)
            ship.rect.x = 10 + ship_number * ship.rect.width
            ship.rect.y = 10
            self.ships.add(ship)

    def show_score(self):
        self.screen.blit(self.score_image,self.score_rect)
        self.screen.blit(self.high_score_image,self.high_score_rect)
        self.screen.blit(self.level_image,self.level_rect)
        self.ships.draw(self.screen)

settings.py

class Settings:
    def __init__(self):
        self.screen_width = 1200
        self.screen_height = 800
        self.bg_color = (230,230,230)

        self.ship_limit = 3

        self.bullet_width = 15
        self.bullet_height = 15
        self.bullet_color = (60,60,60)
        self.bullets_allowed = 3

        self.fleet_drop_speed = 10

        self.speedup_scale = 1.1
        self.score_scale = 1.5

        self.initialize_dynamic_settings()

    def initialize_dynamic_settings(self):
        self.ship_speed = 1.5
        self.bullet_speed = 1.5
        self.alien_speed = 0.4
        self.fleet_direction = 1
        self.alien_points = 50

    def increase_speed(self):
        self.ship_speed *= self.speedup_scale
        self.bullet_speed *= self.speedup_scale
        self.alien_speed *= self.speedup_scale

        self.alien_points = int(self.alien_points * self.score_scale)
        print(self.alien_points)

 

多域联合杂波抑制:鲁棒主成分分析实战指南 多域联合杂波抑制是雷达、声呐与医学超声成像中提升信杂比的关键技术,其本质是通过张量化建模将时域抖动、频域展宽、空域散射和极化相位等耦合特征统一表征。传统PCA因对野值敏感而失效,鲁棒主成分分析(RPCA)通过加权核范数最小化与稀疏异常项分离,实现低秩杂波子空间的稳定估计。该方法兼顾物理可解释性与计算鲁棒性,支持嵌入式实时部署,并已在机载SAR、车载毫米波雷达等场景验证有效性。本文聚焦多域张量构建、自适应权重更新与ADMM求解等工程落地核心环节。 阅读详情

相关推荐

DL-FWI基础入门培训视频学习1、2

DL-FWI基础知识

shengMio的博客 709

第三周实践项目二————本月有几天

/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:吴敬超 * 完成日期:2016年3月15日 * 版本号:vc++6.0 * * 问题描述: * 输入描述: * 程序输出: */ #include using namespace std; int main()

jnwujingchao的博客 429

告别理论!手把手教你用Patran/Nastran搞定机翼颤振分析(附完整模型文件)

本文提供了一份详细的机翼颤振分析实战指南,使用Patran/Nastran软件从零开始构建完整分析模型。涵盖几何建模、网格划分、模态分析到气动弹性耦合的全流程,特别适合航空航天领域工程师学习颤振分析技术。教程包含完整模型文件和实用脚本,帮助读者快速掌握这一关键飞行器设计技能。

weixin_30879169的博客 542

30天快速入门AI大模型:从理论到实践的详细学习方案

本文将为你提供一个雄心勃勃但完全可行的计划:在一个月内,快速建立对AI大模型的系统性认知,并具备动手实践和应用开发的能力。

python1234567_的博客 970

如何导入su_利用GIS快速生成SU场地模型

01|前言:进入2021年了,希望大家也是一个新的开始。告诫自己多写文章多更新,多读点书多旅行。然而元旦由于出去玩了4天,积累了一些事情要处理,一直没有时间好好写点东西。今天给大家带来的分享主题叫“利用GIS快速生成SU场地模型”。相关的视频方法其实B站上也有,但我相信视频很多人都不会看,我自己也是。直接给大家上操作流程。主要的操作步骤是【获取场地的矢量shp文件】—【导入ArcScen...

weixin_33806859的博客 9813

FINN vs GFED vs GFAS vs QFED:四大火灾排放清单实战对比(含Python数据处理代码)

本文针对GFED、FINN、GFAS、QFED四大主流火灾排放清单,提供了实战对比分析与Python数据处理代码。通过量化对比东南亚农业火点与亚马逊雨林大火两个典型场景,揭示了不同清单在时空分辨率、算法内核和应用场景上的核心差异,并给出了基于研究目标、区域和模型的清单选择决策框架,帮助研究人员为空气质量模拟或火灾影响评估挑选最合适的数据源。

s3t4u的博客 422

全栈学习路线

目标:掌握基础的编程逻辑、交互效果和前端动态功能。

weixin_44463519的博客 1223

C++高级数据结构算法 | 二叉树的四种遍历算法详解(递归与非递归实现)

二叉树遍历方法 、前序遍历算法 、中序遍历算法 、后序遍历算法 、层序遍历算法

ZY-JIMMY 2565

大模型学习实战指南:从零基础到项目落地

大模型技术作为人工智能领域的重要突破,其核心在于将深度学习与海量数据相结合,通过Transformer等架构实现强大的泛化能力。在工程实践中,掌握Hugging Face的transformers库和模型微调技术是关键突破口。不同于传统机器学习,大模型应用更强调端到端的解决方案能力,典型场景包括智能对话系统、文本生成等。对于初学者,建议从Google Colab环境起步,通过复现经典案例快速积累经验。数据显示,大模型岗位70%的考核点在于工程实践能力,因此及早动手完成第一个完整项目比追求理论完备更重要。

weixin_29056101的博客 359

3.PCIe协议分析1-预备知识点

PCIE协议分析1主要讲一下四方面: PCI-E配置空间 PCI-E地址映射 PCI-E Bar空间 PCI-E层级结构详谈 (1)PCIE配置空间 我们过来学习PCIE的同学应该都接触各种类型的功能芯片吧,这些功能芯片连接在电路里面我们可以认为它是一个外部设备,这些设备里面有自己独有的寄存器区域,比如SDRAM里面的ID寄存器或者其他配置寄存器。好的,其实我们PCIE板卡也相当...

一个早起的程序员 4145

YOLOv13改进:原创自研 | 卷积魔改 | 一种新颖的风车形卷积(PConv)融合注意力机制,加强微弱小目标检测能力

风车形卷积(PConv)融合注意力机制进一步提升小目标检测能力

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1056

6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器

本文介绍了Python函数式编程基础,重点讲解map、filter、reduce等高阶函数的使用方法,以及lambda表达式在数据处理中的应用。同时介绍了生成器(Generator)的惰性计算特性和迭代器(Iterator)的基本概念,通过三个实践练习(列表平方、字符串过滤、偶数生成)巩固所学知识。总结指出函数式编程强调不可变性和链式操作,生成器适合处理大数据,迭代器实现了__iter__和__next__方法。

FAN的博客 639

深入浅出块I/O子系统(四)请求处理过程

BIO请求处理的流程 函数scsi_request_fn()代码(摘自文件drivers/scsi/scsi_lib.c) (1)static void scsi_request_fn(struct request_queue *q) (2)int scsi_dispatch_cmd(struct scsi_cmnd *cmd) { host->hostt->queuecommand(host, cmd) } (3)struct sas_internal *i sas_queuec

sinat_37817094的博客 1348

关于crontab里day和weekday的使用

Crontab 每兩週執行一次 今天被問到一個問題: Crontab 如何設定兩週執行一次. 問題假設: 每個月 "第 1, 3 週" 的 "星期一 早上6點" 要執行 "ls /tmp" 的指令. 原本想想應該是直接設定 0 6 1-7,15-21 * 1 就可以了, 結果 1-7, 15-21 和 星期一也都會跑. man 5 crontab #

烂笔头 1736

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

第三周 Day 4 —— Python常用模块和文件操作

第三周 Day 4 —— Python常用模块和文件操作 一、 工作中 1. OS模块 ​ 文件操作系统(注意提供文件和文件夹相关操作) ​ 例如:os.listdir() —— 返回指定目录下所有文件的文件名 2. sys模块 ​ 系统相关操作 ​ 例如:exit() —— 结束线程 3. json模块 ​ json数据处理(后面讲) 4. re模块 ​ 正则表达式相关操作 5. math模块 ​ 例如:ceil() —— 将小数转换为整数,向大取整 ​ round() —— 小数取整,五舍六入

Maple12138的博客 301

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

mysql实践周心得_mysql第三周总结

一.Mysql语言结构1,字符串函数(1)ASCII()函数例:SELECT ASCII('A');(2)CHAR()函数例: 返回ASCII码值为65、66、67的字符,组成一个字符串。SELECT CHAR(65,66,67);(3)LEFT和RIGHT函数例:返回KC表中课程名最左边的3个字符。USE XSCJSELECT LEFT(课程名,3)FROM KC;执行结果为:(4)TRIM、L...

weixin_42347535的博客 778

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

30 天吃透 AI 大模型:从理论原理到实践应用的超详学习方案

30 天吃透 AI 大模型:从理论原理到实践应用的超详学习方案

大模型研究中心 1522

我是一个上班族我想一个月学会python,能做项目,请给我一个具体的计划

通过上述学习计划,您可以建立起 Python 的基础知识和实际应用能力。请注意,这只是一个基础的学习计划,您可以根据自己的进度和需求进行调整。在学习过程中,多实践、多搜索问题、多参考官方文档和在线教程,将有助于您更好地掌握 Python 编程。完成一个小项目后,您可以进一步拓展和深化自己的 Python 技能。学习一个月时间学会 Python 并能够完成一个项目是一个有挑战的目标,但是您可以通过专注和努力实现它。

qq_33192454的博客 212

第三周学习笔记DAY.1

&& 短路与 true&&false ->false 两个数据全部为true 最终结果为true。* || 短路或 两个数据都为false 最终的结果为false。输入四位会员卡号,单独提取每一位相加,等于10获奖。条件运算符 三目运算符。

qq_57513810的博客 432

30天大模型实战指南:从理论到部署的完整闭环

大模型技术作为人工智能领域的重要突破,其核心在于Transformer架构和预训练范式。理解注意力机制、微调策略和模型量化等关键技术原理,能够帮助开发者高效利用大模型的强大能力。在实际工程中,从环境配置到API封装,再到评估体系构建,每个环节都直接影响最终落地效果。本文基于多个真实项目经验,提炼出问题驱动的学习路径,特别适合需要快速掌握HuggingFace工具链和PyTorch实践的开发者。通过对比不同模型的zero-shot能力、可视化注意力机制等实操方法,读者可以避开常见陷阱,建立完整的大模型工程化思

weixin_28725407的博客 297

TimelineJS时间线工具:15分钟制作专业级交互时间线的完整指南

还在为如何制作精美的时间线而烦恼吗?TimelineJS作为一款强大的JavaScript时间线工具,让你无需编程基础也能快速创建令人惊艳的交互式时间线。无论你是教师、记者、历史爱好者还是项目经理,这款免费的开源工具都能帮你把枯燥的时间数据变成生动的视觉故事。 ## 🚀 项目亮点速览:为什么选择TimelineJS? TimelineJS不仅仅是一个时间线工具,它是一个完整的叙事平台。想象一

gitblog_01072的博客 843

【建议收藏】一个月掌握AI大模型:从零基础到项目实战的程序员完整指南

本文提供了一个为期一个月的AI大模型学习计划,四周内容分别为:第一周学习Transformer架构理论基础;第二周掌握Hugging Face工具和模型应用;第三周学习模型微调与定制技术;第四周通过RAG系统构建、模型量化和毕业项目进行实战应用。文章强调动手实践的重要性,并提供具体学习资源和实践任务,帮助读者在短期内建立对AI大模型的系统性认知并具备应用开发能力。要在一个月内完成目标,你并非需要从零开始。:理解大模型的“灵魂”——Transformer架构,并掌握其核心概念。

python12345_的博客 1253

ARTS-第三周

Algorithm 二叉树深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 复制代码 / 9 20 / 15 7 返回它的最大深度 3 。 /** * Definition for a binary tree node. ...

weixin_33957648的博客 162
上一篇: 第三周——项目实践(未完) Day4 7.14
下一篇: 第三周——小结 Day6 7.17
FancySYZ
博客等级 码龄4年 2粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值