GLM-4-Flash 大模型API免费了,手把手构建“儿童绘本”应用实战(附源码)

news2024/9/25 7:18:24

老牛同学刚刷到了一条劲爆的消息,GLM-4-Flash大模型推理 API 免费了:https://bigmodel.cn/pricing

GLM-4-Flash免费

老牛同学一直觉得上次阿里云百炼平台为期 1 个月免费额度的“羊毛”已经够大了(太卷了,阿里云免费 1 个月大模型算力额度,玩转 Llama3.1/Qwen2 等训练推理),但经过老牛同学在智谱 AI 官网反复确认之后,竟然不是标题党,它是真的免费,感觉大模型厂商的“羊毛”简直是没有最大,只有更大(老牛同学这次要站智谱 AI 这边)!

老牛同学本地部署推理和体验的大模型有很多,且第一个就是GLM-4-9B(是的,比Qwen2-7B还要早一些),也一直关注着智谱 AI 推出的大模型:

  • 第一次是 6 月 8 号:GLM-4-9B大模型开源,且推理能力亮点突出,老牛还写了一篇本地部署推理的文章(本地部署 GLM-4-9B 清华智谱开源大模型方法和对话效果体验),由于当时GLM-4本地部署门槛还有点高,因此这篇文章还获得了不少网友的关注,老牛同学也收到不少网友的关于部署过程的私信和留言
  • 第二次是 7 月 9 号(1 个月后):GLM-4-9B支持通过 Ollama 部署(https://ollama.com/library/glm4),本地部署和推理的门槛降低不少,因此老牛同学顺势写了一篇普及 Ollama 使用的文章,文章中案例就是用GLM-4-9B(Ollama 完整教程:本地 LLM 管理、WebUI 对话、Python/Java 客户端 API 应用)
  • 第三次是 8 月 27 号也就是今天(差不多也是 1 个月后):智谱 AI 大模型开放平台官网(https://bigmodel.cn/)宣布GLM-4-Flash大模型 API 免费使用,这不又激起老牛同学的兴致,也因此有了本文

从老牛同学微观视角我们可以看到,智谱 AI 从开放开源大模型、到降低大模型使用门槛、在到面向大众免费,不段在诠释着技术进步普惠 AI,就如智谱 AI 的愿景那样:实现“让机器像人一样思考”,让技术更好地服务社会,打造支持不同场景、不同方向的智能应用程序的底层人工智能架构,不断开拓努力实现人工智能的行业普惠。

GLM-4-Flash免费了,我们除了高兴和感慨之外,羊毛不常有,我们总得要“薅”一把。这次老牛同学就不做微调了,咱们来做一个我们生活场景:儿童绘本应用!

大家可能会问,为什么选择儿童绘本这个方向呢?其实原因一点都不复杂:老牛同学一时半会儿也没有想到好的创意(特别期待大家留言新创意,老牛同学愿意协助实现);再者老牛同学家绘本要又更新了(存量的绘本小孩都读腻了);并且这个应用不是很复杂,不至于一篇文章还写不完,还要有续集。如果我们能基于免费的大模型 API 能力,随时生成不同的儿童绘本,岂不是妙哉?

针对“儿童绘本”应用,老牛同学的构思如下:

  1. 面向7~10小朋友,绘本构思由大模型产出,最好能与当前热点相关(如:最近火爆天的黑神话·悟空游戏)
  2. 绘本故事内容也由大模型产出,需要积极向上,饱含正能量
  3. 绘本情节结构分为 4 个段,每个段 300 个汉字左右,整个绘本不超过 1500 个汉字
  4. 每一段绘本情节均需要配一张插图
  5. 最后:绘本内容和图片存储到电脑本地磁盘

儿童绘本应用中,我们需要用到 2 个大模型:

  • GLM-4-Flash大语音模型,主要是提供绘本构思和产出绘本内容
  • CogView-3文生图大模型,主要是生成绘本插图

儿童绘本应用流程

确定了应用内容,我们就开始行动了~

注册&申请 API Key

想要使用大模型推理 API,我们首先得拿到 API Key,打开智谱 AI 开放平台官网:https://bigmodel.cn/

完成注册和实名认证后,我们打开控制台,即可复制 API Key 了:https://bigmodel.cn/usercenter/apikeys

新增和复制API Key

我们可以把复制的 API Key 放到环境变量中(老牛同学的环境变量名:ZhipuAI-APIKey),免费在代码里硬编码,下面老牛同学代码演示均从环境变量获取!

API 调用前置准备和配置

这部分包括 Python 环境准备、SDK 依赖包安装和 API 验证:

Python 研发环境

工欲善其事,必先利其器,我们通过Miniconda管理 Python 虚拟环境,Miniconda的安装和使用可以参考老牛同学之前的文章:大模型应用研发基础环境配置(Miniconda、Python、Jupyter Lab、Ollama 等)

第一步:设置 Python 虚拟环境:

# Python虚拟环境名:ZhipuAI,版本号:3.10
conda create --name ZhipuAI python=3.10 -y

# 激活虚拟环境
conda activate ZhipuAI

第二步:安装 Python SDK 依赖包

pip install zhipuai -U

以上简单的 2 步,我们即完成了前期环境准备工作了,接下来我们简单验证一下准备工作是否达标:

开放平台 API 验证

# GLM-4-Flash-Test.py
from zhipuai import ZhipuAI
import os

# 环境变量中获取API Key内容
client = ZhipuAI(
  api_key=os.environ.get('ZhipuAI-APIKey')
)

# 使用GLM-4-Flash大模型进行验证
response = client.chat.completions.create(
  model='glm-4-flash',
  messages=[
    {'role': 'user', 'content': '你好,我是老牛同学,请问你是谁?'},
  ],
  stream=True,
)

# 流式输出
for chunk in response:
    print(chunk.choices[0].delta.content, end='')

print('')

执行验证代码,可以看到如果输出:python GLM-4-Flash-Test.py

>python GLM-4-Flash-Test.py
你好,老牛同学!我是人工智能助手智谱清言,很高兴为您服务,有什么可以帮助您的吗?

原来智谱清言就是GLM-4-Flash的中文名,又涨了一点姿势~

最后,我们可以查看 API 接口文档,准备我们的儿童绘本应用的研发了:

大模型接口文档

GLM-4-Flash接口文档:https://bigmodel.cn/dev/api#glm-4

CogView-3接口文档:https://bigmodel.cn/dev/api#cogview

“儿童绘本”实战 1:绘本构思

“儿童绘本”应用实战的第一步,就是我们给大模型提供一个主题(如:黑神话·悟空),让大模型产出绘本构思:GLM-4-Flash-Idea.py

# GLM-4-Flash-Idea.py
# 构造客户端
def make_client():
  return ZhipuAI(
    api_key=os.environ.get('ZhipuAI-APIKey')
  )


#
# 第一步:使用GLM-4-Flash大模型产出创意
#
def make_idea():
  response = make_client().chat.completions.create(
    model='glm-4-flash',
    messages=[
      {'role': 'system', 'content': '你是一位儿童绘本的内容创意专家,你的任务是根据用户提供的主题,提供适合7岁到10岁小学生阅读的、专业的、有见地的绘本内容创意。'},
      {'role': 'user', 'content': '请以“黑神话·悟空”这款最近热门的游戏为主题,提供儿童绘本创意。要求:绘本分为4个小段,每个小段需要有插图。'},
    ],
    stream=True,
  )

  # 流式输出
  idea = ''
  for chunk in response:
      idea += chunk.choices[0].delta.content

  return idea

# 运行
if __name__ == '__main__':
  idea = make_idea()
  print(idea)

和大模型推理 API 验证的代码相比,就只是 Prompt 提示不一样。有关 Prompt 提示词编写小技巧,可以查看老牛同学之前的文章:高效编写大模型 Prompt 提示词,解锁 AI 无限创意潜能

运行以上绘本创意代码的结果如下:python GLM-4-Flash-Idea.py

黑神话·悟空绘本创意

从提供的创意结果来看,GLM-4-Flash还是有 2 把刷子,产出的创意非常完整,包括:绘本名称、绘本简介、绘本内容、故事内容和绘本特点。面面俱到,比老牛同学的设想要丰富多了:

绘本名称:《悟空探秘之旅》

绘本简介:
这是一本以热门游戏《黑神话·悟空》为背景的儿童绘本,通过四个小故事,带领孩子们进入一个充满神话色彩的西游记世界,体验悟空 的英勇与智慧。

绘本内容创意:

第一段:《悟空的起源》
插图:孙悟空石破天惊地从石头中蹦出来,周围是五彩斑斓的花草和神秘的森林。

故事简介:绘本开始讲述孙悟空的诞生,描述了石猴如何从一块神奇的石头中蹦出来,开始了他的奇幻之旅。

第二段:《猴王争霸》
插图:孙悟空挥舞金箍棒,与群猴比试,最终成为猴王。

故事简介:孙悟空在花果山与众猴比试,凭借智慧和力量,成为猴王,得到众猴的尊敬。

第三段:《取经之路》
插图:孙悟空带领唐僧、猪八戒和沙僧四人西行取经,路上遇到妖魔鬼怪。

故事简介:孙悟空带着唐僧师徒四人踏上取经之路,他们历经九九八十一难,勇敢地战胜了各种妖魔鬼怪,保护师傅安全。

第四段:《悟空归来》
插图:孙悟空在取得真经后,回到花果山,与众猴欢聚一堂。

故事简介:孙悟空取得真经后,回到花果山,与众猴庆祝胜利,展示了他英勇无畏、智慧过人的品质。

绘本特点:
1. 故事情节紧凑,富有想象力,吸引孩子们阅读。
2. 插图色彩鲜艳,画面生动,有助于培养孩子们的审美观。
3. 故事融入了传统神话元素,传承了中华民族的优秀文化。
4. 通过孙悟空的成长历程,教育孩子们勇敢、智慧、团结的重要性。

“儿童绘本”实战 2:绘本内容

“儿童绘本”应用实战的第二步,就是根据第一步提供的创意,完善故事内容情节:GLM-4-Flash-Content.py

# GLM-4-Flash-Content.py

# ..... 前面省略

#
# 第二步:使用GLM-4-Flash大模型生成故事内容
#
def make_content(idea:str):
  response = make_client().chat.completions.create(
    model='glm-4-flash',
    messages=[
      {'role': 'system', 'content': '你是一位儿童绘本的故事内容编写专家,你编写的故事幽默有趣,特别适合7岁到10岁的小学生阅读,你的任务是根据用户提供的儿童绘本创意,完成编写的整个故事内容。'},
      {'role': 'user', 'content': f'请根据儿童绘本创意,完成编写整个故事内容。\n\n故事内容要求:\n故事内容分为4个小段,每个小段500个汉字左右,故事总长度不得超过2000个汉字。\n\n儿童绘本创意:\n{idea}'},
    ],
    stream=True,
  )

  # 流式输出
  content = ''
  for chunk in response:
      content += chunk.choices[0].delta.content

  return content

# 运行
if __name__ == '__main__':
  idea = make_idea()
  content = make_content(content)
  print(content)

和第一步的代码类似,我们主要是调整了 Prompt 提示词。Prompt 提示中,创意的内容完全复制第一步的内容,一个字都不需要修改。

运行以上绘本故事内容代码的结果如下:python GLM-4-Flash-Content.py

黑神话·悟空绘本故事内容

还别说,故事内容还算有模有样:

# 《悟空探秘之旅》

这是一本以热门游戏《黑神话·悟空》为背景的儿童绘本,通过四个小故事,带领孩子们进入一个充满神话色彩的西游记世界,体验悟空 的英勇与智慧。

# 第一段:《悟空的起源》

在一个遥远的时代,有一块五彩斑斓的石头,静静地躺在花果山的山顶上。这石头非同小可,它吸收了天地精华,蕴含着无尽的能量。一天,石头突然炸裂开来,从中蹦出一个石猴,他的眼睛里闪烁着好奇的光芒。

石猴出生后,就与周围的猴子们玩得不亦乐乎。他聪明伶俐,机智过人,很快便成为了猴群中的领袖。有一天,石猴突发奇想,他想要找到自己的起源,于是开始了他的奇幻之旅。

# 第二段:《猴王争霸》

石猴带着对未知的渴望,来到了一座神秘的山洞。他发现这个山洞里隐藏着许多宝藏,于是便决定在这里建立自己的家园。然而,这座山洞并不容易占据,其他猴子也觊觎着这里的宝藏。

石猴决定与这些猴子们一较高下,他挥舞着金箍棒,与群猴比试。凭借着过人的智慧和力量,石猴最终战胜了所有对手,成为了猴王。众猴们纷纷向他致敬,花果山也因此成为了猴子们的乐土。

# 第三段:《取经之路》

时光荏苒,石猴渐渐长大,他渴望着更多的冒险。一日,石猴在山林中遇到了一位云游四方的和尚唐僧。唐僧受佛祖旨意,要前往西天取经。石猴决定跟随唐僧,一同踏上取经之路。

在这条路上,他们遇到了无数妖魔鬼怪。孙悟空凭借着他的智慧和勇气,带领着唐僧、猪八戒和沙僧四人,战胜了一个又一个的困难。他们历经九九八十一难,终于来到了西天,取得了真经。

# 第四段:《悟空归来》

孙悟空取得真经后,带着唐僧师徒四人回到了花果山。猴群们为他们举行了盛大的庆祝活动,欢声笑语充斥着整个山林。孙悟空在这次冒险中,不仅收获了真经,更赢得了众猴的尊敬和爱戴。

孙悟空的成长历程,让所有孩子都为之动容。他英勇无畏、智慧过人的品质,成为了孩子们心中的英雄。而《悟空探秘之旅》这本书,也成为了孩子们传承中华民族优秀文化的瑰宝。

“儿童绘本”实战 3:绘本插图

绘本插图我们需要用到另外一个大模型:CogView-3,它可以根据文本生成图片。可惜的是,它并不免费,它的收费标准如下:

CogView文生图收费标准

我们本次需要四张插图,因此预计收费0.4 元,为了能更好的演示如何构建绘本应用,老牛同学觉得收费是值得的。

在插图图片生成之后,我们需要保存到本地,因此我们需要安装一下 Python 依赖:

pip install requests -U

下面,我们通过调用CogView-3文生图大模型,生成故事每小段的插图:GLM-4-Flash-Illustration.py

# GLM-4-Flash-Illustration.py
from zhipuai import ZhipuAI
import os
import requests

# ..... 前面省略

# 存储图片到本地
def download_image(url, save_path):
	print(f'开始下载图片: {url}')

    # 发送 HTTP 请求
	response = requests.get(url, stream=True)

    # 检查请求是否成功
	if response.status_code == 200:
		# 以二进制模式打开文件
		with open(save_path, 'wb') as file:
			# 将图片内容写入文件
			file.write(response.content)
		print(f'图片下载成功: {save_path}')
	else:
		print('图片下载失败.')

# 生成图片
def make_illustration(idea:str):
  item_list = ['第一段', '第二段', '第三段', '第四段']

  for item in item_list:
    response = make_client().images.generations(
        model='cogview-3',
        prompt=f'你是一位儿童绘本插图绘画专家,你画的插图紧贴绘本的创意,插图色彩鲜艳,画面生动,有助于培养7岁到10岁的小学生的审美观。\n\n下面是一个儿童绘本的创意,共有4个小段,请为“{item}”画一张插图:\n\n{idea}'
    )

    image_url = response.data[0].url

    print(f'{item}插图地址:{image_url}')

    # 图片目录
    image_dir = os.path.join(os.getcwd(), 'assets')
    os.makedirs(image_dir, exist_ok=True)

    # 图片路径
    save_path = os.path.join(image_dir, f'{item}.jpg')

    # 下载存储图片
    download_image(image_url, save_path)

# 运行
if __name__ == '__main__':
  idea = make_idea()
  make_illustration(idea)

黑神话·悟空绘本故事插图

最终,我们可以看到本地磁盘,有 4 张绘本插图:

黑神话·悟空绘本故事插图

“儿童绘本”实战 4:绘本存储

最后,我们只要把绘本故事内容和插图组织起来,就是一本完整的绘本了。老牛同学使用 Markdown 格式,然后用网上 Markdown 渲染,可以看到最终绘本内容:

我们把以上代码实例编织起来,就是一个完整的基于大模型的儿童绘本应用程序了,整体结构如下:

# GLM-4-Flash.py
from zhipuai import ZhipuAI
import os
import requests

# 构造客户端
def make_client():
  # ...略

#
# 第一步:使用GLM-4-Flash大模型产出创意
#
def make_idea():
  # ...略

#
# 第二步:使用GLM-4-Flash大模型生成故事内容
#
def make_content(idea:str):
  # ...略

#
# 第三步:使用CogView-3大模型生成故事插图
#

# 存储图片到本地
def download_image(url, save_path):
  # ...略

# 生成图片
def make_illustration(idea:str):
  # ...略

# 运行
if __name__ == '__main__':
  # 1. 绘本构思
  print('----------------------------- STRT:绘本构思 -----------------------------')
  idea = make_idea()
  print(idea)
  print('----------------------------- 绘本构思:END ------------------------------')

  # 2. 绘本内容
  print('----------------------------- STRT:绘本内容 -----------------------------')
  content = make_content(idea)
  print(content)
  print('----------------------------- 绘本内容:END ------------------------------')

  # 3. 绘本插图
  print('----------------------------- STRT:绘本插图 -----------------------------')
  make_illustration(idea)
  print('----------------------------- 绘本插图:END ------------------------------')

我们的儿童小绘本应用到此总体就完成了,老牛同学主要是介绍如何使用 AI 完成我们的构思,因此整体有点粗糙,请大家见谅,我们接下来可以进一步优化:

  1. 能否自动生成 Markdown 文件,并且把 Markdown 自动转换为其他格式文件(如:PDF 文件)
  2. 能否对接我们的智能家居设备,自动读我们生成的故事(如:天猫精灵、小爱同学等)
  3. 更进一步,智能家居读故事的音色,能否模拟我们自己,让孩子们在听故事时,就感觉是自己的爸爸妈妈在读一样?
  4. 在进一步,能否设计一款 APP,支持只需一个主题,自动完成绘本创作、并且能播放?

以上几点,老牛同学后续有机会,在发文介绍,大家如果感兴趣,也可以与老牛同学私信,我们可以探讨完成!

最后:智谱 AI 为什么要第一个吃“免费”螃蟹?

据老牛同学所知,GLM-4-Flash是第一个免费的大模型 API,从前面我们模型部署经验来看,大模型部署和推理对资源的要求较高,那么智谱 AI 为什么要这么做呢?老牛同学觉得有以下几点:

  1. 智谱 AI 技术进步,让GLM-4-Flash大模型推理成本降到了一个足够低的水平,以至于收费也赚不到什么钱,还不如干脆大方一点全免费,在国内大模型发展的初期,抢占先发优势,给自己赚个好口碑的同时,吸引更多的大模型使用者、爱好者、研究者。
  2. 智谱 AI 不忘初心,坚持自己的愿景,让 AI 普惠所有人。前期的开源、降门槛粒度还不够,免费有可能是终极手段。
  3. 智谱 AI 自信于自己技术,通过自己的免费举措,逐步带动其他大模型厂商降低大模型的门槛,争做 AI 大模型的弄潮儿。

本文实例源代码:https://gitee.com/obullxl/SunningTX/tree/master/PythonTX/GLM-4-Flash

vLLM CPU 和 GPU 模式署和推理 Qwen2 等大语言模型详细教程

MiniCPM-V 2.6 面壁“小钢炮”,多图、视频理解多模态模型,部署和推理实战教程

基于 Qwen2/Lllama3 等大模型,部署团队私有化 RAG 知识库系统的详细教程(Docker+AnythingLLM)

使用 Llama3/Qwen2 等开源大模型,部署团队私有化 Code Copilot 和使用教程

基于 Qwen2 大模型微调技术详细教程(LoRA 参数高效微调和 SwanLab 可视化监控)

微信公众号:老牛同学

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

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

相关文章

什么是BI?BI系统的功能有哪些?哪些人需要BI工具支持?

什么是BI? BI是商业智能(Business Intelligence)的缩写。它是指通过收集、整理、分析和可视化企业内部和外部数据,从中获得洞察信息和决策支持的技术和流程。BI利用数据分析工具和技术,帮助企业管理者和决策者更好地理…

Cesium 展示——获取指定区域地形的最大最小高程

文章目录 需求分析方法一:方法二:需求 在地图上勾选某一处的区域,分析获取区域内最大最小高程 分析 方法一: function getAreaHeight(viewer, positions) {const startP = positions[0

备考AMC10美国数学竞赛2024:吃透1250道真题和知识点(持续)

有什么含金量比较高的初中生数学竞赛吗?美国数学竞赛AMC10是个不错的选择。那么,如何备考AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。 通过做真题,可以帮助孩子找到真实竞赛…

解决tensorflow模型加载时把GPU显存占满的问题(亲测效果显著)

第一次用tensorflow模型进行推理。 初始状态下,显存的占用情况 模型加载后,电脑显存直接快拉满了,但是模型参数量并不大,这就很奇怪,究竟这是一股什么神秘的力量,竟要试图侵占我可怜的显卡宝贝 原因分析:安装了tensor…

fastadmin表单中二维数组组件+图片上传

记录&#xff1a;fastadmin表单中二维数组组件图片上传 add.html代码 <div class"form-group"><label class"control-label col-xs-12 col-sm-2">{:__(Quanyi)}:</label><div class"col-xs-12 col-sm-10"><style>…

多个FeignClient使用相同服务名报错问题:使用contextId区分不同FeignClient

一、概述 在项目开发中&#xff0c;由于多个 FeignClient 使用了相同的 name &#xff0c;导致SpringBoot启动时出现 BeanDefinitionOverrideException 异常。 解决方案是在每个 FeignClient 上添加唯一的 contextId&#xff0c;如 userFeignClient 和 helloWorldFeignClient…

低功耗高效率同步降压变换器SiLM6880/SiLM6881 为工业应用领域电源提供强力支撑

为了满足现代电子设备对性能和能耗的更高要求&#xff0c;并不断推动电源技术的优化与创新&#xff0c;深力科推荐一款——低功耗、高效率的同步降压变换器SiLM6880/SiLM6881。 SiLM6880/SiLM6881具有宽泛的输入电压范围&#xff08;6V~80V&#xff09;&#xff0c;能适应各种电…

LLM分布式预训练浅析

随着深度学习的不断进步&#xff0c;语言模型的规模越来越大&#xff0c;参数量级已经达到了数千亿甚至数万亿&#xff0c;参数规模的指数增长带来了两个巨大的挑战 1&#xff09;模型参数过大&#xff0c;如GLM 130B模型参数需要520GB&#xff08;130B*4bytes&#xff09;的显…

【Latex】Latex 简介和安装

Latex LaTeX 是一种基于排版的文档准备系统&#xff0c;广泛用于创建高质量的科学和数学文档。它的核心是 TeX 语言&#xff0c;由美国计算机科学家 Donald Knuth 在 1978 年开发。LaTeX 简化了文档的格式化过程&#xff0c;尤其是在处理复杂的公式、引用、表格、图表等方面&a…

Java IO精髓:高效块读写入技术深入解析

文件的复制 首先我们先用昨天学习的知识来完成文件的复制,使用read和write方法来完成。 public static void main(String[] args) throws IOException {FileInputStream fis new FileInputStream("./image.png");FileOutputStream fos new FileOutputStream("…

OpenCV开发笔记(七十九):基于Stitcher类实现全景图片拼接

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/141561865 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

加速边缘智能技术落地!移远通信推出全功能ARM主板QSM560DR、QSM668SR系列

8月22日&#xff0c;全球领先的物联网整体解决方案供应商移远通信宣布&#xff0c;正式推出其两款全功能ARM主板——QSM560DR与QSM668SR系列。 作为智能设备开发与硬件设计的核心平台&#xff0c;这两款ARM主板以卓越的集成度和性能、广泛的兼容性以及丰富的功能接口&#xff0…

零基础学习人工智能—Python—Pytorch学习(八)

前言 本文介绍卷积神经网络的上半部分。 其实,学习还是需要老师的,因为我自己写文章的时候,就会想当然,比如下面的滑动窗口,我就会想当然的认为所有人都能理解,而实际上,我们在学习的过程中之所以卡顿的点多,就是因为学习资源中想当然的地方太多了。 概念 卷积神经网络…

WPF- vs中的WPF应用项目模板 如何自己实现

读书笔记 1. 单个 c#文件的 空白window应用程序 (只展示了一个button按钮) 2.C#文件 和xml文件 的空白window程序 .xml文件作为程序的资源 (只一个button按钮) 3. xmal和c#共同编译 形如使用VS 创建WPF应用项目模板 1.新建一个wpf空白项目 ,添加一个主c#文件 和xaml文件(属…

list底层详解

目录 介绍 list的实现 1.自定义节点 2.迭代器封装 构造函数 前置和后置 前置--和后置-- *操作符和->操作符 和!操作符 iterator和const_iterator 3. list类 构造函数和析构函数 赋值操作 头尾迭代器 插入和删除 头插头删尾插尾删 list接口函数总代码 介绍…

【开端】Java中最常用的一个类型String的使用

一、绪论 Java中最常用的一个类型是String&#xff0c;其实从JDK1.0 到JDK20 Java 开发工具包其实也经过很多演变&#xff0c;很多功能做了一些优化。这一节就把String类里的方法拎出来看看哪些是常用的&#xff0c;哪些经常用不到得到&#xff0c;哪些是已经有的&#xff0c;…

BaseCTF [第 2 周] lk

前言&#xff1a;做题笔记。 下载解压查壳。 64IDA打开。 查找字符串去。 跟进BaseCTF{ 找到 main 头部&#xff1a; 尾部&#xff1a; 程序&#xff1a; 选择题&#xff0c;咳&#xff0c;动漫迷可以做&#xff0c;也能得flag。(我不怎么看动漫。。) 告知我们&#xff0c;输…

【开发笔记】Notepad++配置

Notepad配置 Notepad保护色配置 settings --> Style Configurator 选择 Enable olobal foreground colourEnable global background colour 设置背景色 点击 Save & Close按钮&#xff0c;完成保存。 设置 Unix换行符

计算机网络 TCPUDP、IP、ARPRARP、NAT总结

文章目录 TCP 和 UDPUDPTCPTCP 三次握手半连接队列&#xff08;SYN队列&#xff09;全连接队列&#xff08;Accept队列&#xff09;TCP四次挥手为什么四次挥手为什么需要TIME_WAIT状态TIME_WAIT的危害为什么是2MSL 重传机制滑动窗口流量控制拥塞控制 IPIP地址分类A、B、C类地址…

javaee、ssm(maven)、springboot(maven)项目目录结构以及编译后文件目录存放路径

javaee项目目录结构&#xff1a; src下的文件或者是源码编译后都会放在WebRoot&#xff08;项目根目录&#xff09;文件夹\WebRoot\WEB-INF\classes目录中。 编译后的文件夹目录如下&#xff1a; 以上为普通的javaee项目目录结构&#xff0c;同maven工程目录结构是不一样的。…