不破不立,那些年错过的Python

石头剪刀布AI策略建模:非随机博弈与人类行为预测实战 石头剪刀布(RPS)表面是简单随机游戏,实则是检验AI策略智能的最小可行博弈系统。其核心原理在于Sansukumi三力相克动态平衡,要求模型在信息有限、时间紧迫、对手持续进化条件下,实现超越50%胜率的稳定决策。技术价值体现在对人类‘快思考’行为惯性的精准建模、可解释的轻量级预测器设计,以及具备自我诊断能力的元评估机制。典型应用场景涵盖自动驾驶临界决策、智能客服情绪引导、网络安全攻防对抗等真实世界策略交互任务。本文聚焦Rock Paper Scissors与AI策略建模的深度结合,提供可调试、可解释、可演化 阅读详情

随着OpenAI的发展,Python的重要性不言而喻。不知你是否和我一样,不知道曾经说过多少次我要学Python,都没有执行起来… 近期我在知识库中更新了一波Python教程,选取了这一篇分享给大家。

前言

很多时候我们需要让程序变成交互性的,能够对用户输入做出响应。交互性的应用程序可以极大丰富应用功能,比如我们可以做一个自己的聊天机器人等等,我们先来看如何接收用户的输入。

认识input函数

函数input()函数可以让程序暂停运行,等待用户输入文本。获取用户 输入后,Python将其赋给一个变量。比如我们让用户输入姓名,代码如下所示。

name = input("请输入你的姓名:")
print(f"欢迎{name}")
work = input("请问你的工作是什么:")
print(f"哦,{work}是一份非常有前景的工作")

input函数可以接受一个prompt提示语,等待用户输入完成后,会将用户输入的内容赋值给定义的变量。运行上述程序,输入“黄林晴”,工作输入“Android开发工程师”

怎么样,是不是瞬间逼格高了很多,人工“智能”的一小步。

如果我们的prompt提示语过长,可以采用字符串拼接的方式,代码如下所示。

prompt = "尊敬的先生/女士,非常荣幸能与您进行交流。在这个美好的时刻,我想请教您一个问题:请问"
prompt += "\n你叫什么名字?"
name = input(prompt)

我们也可以结合while循环让那个用户一直输入,直到输入结束标志,代码如下所示。

prompt = "Q:"
key = ''
while key != 'end':
    key = input(prompt)
    if key != 'end':
        print(f"A:我不知道什么是{key}")
    else:
        print("Bye!")

运行程序结果如下所示。

当代码量比较多的时候,我们会将方法拆分为各种函数。

函数

认识函数

函数是带名字的 代码块,用于完成具体的工作。要执行函数定义的特定任务, 可调用该函数。比如我们将上面的方法写在一个函数里面。代码如下所示。

def chat () :
    prompt = "Q:"
    key = ''
    while key != 'end':
        key = input(prompt)
        if key != 'end':
            print(f"A:我不知道什么是{key}")
        else:
            print("Bye!")

这里我们使用def关键字,定义了一个名为chat的函数。如果我们想调用整个函数直接调用chat()即可。

函数传参

在Python如果函数中包含参数,我们只直接在函数的括号内填写即可,比如上述方法中结束标志改为从参数传入,修改代码如下所示。

def chat(enkey):
    prompt = "Q:"
    key = ''
    while key != enkey:
        key = input(prompt)
        if key != enkey:
            print(f"A:我不知道什么是{key}")
        else:
            print("Bye!")

调用时,直接传递参数即可,代码如下所示。

chat("end")

当然我们也可以为形参指定默认值,比如

def chat(enkey = "end"):

这些与Kotlin都大同小异,所以我们只是简单的记录一下。

带有返回值的函数

有些函数是需要返回值的,而带有返回值函数的定义Python是不同于其他语言的,其他语言都要定义返回类型,而Python直接返回即可。比如我们编写一个方法求两个数的和,可以编写如下所示的代码。

def sum(num1, num2):
    return num1 + num2

调用方法如下所示。

value = sum(1, 2)
print(f"两个数的和为:{value}")

运行程序,打印结果为3,可以看出Python函数的声明还是非常简洁的。

导入函数

在实际项目开发中会有大量的函数,为了便于管理,我们通常会将函数放在单独的模块中我们也可以说放在单独的文件中,比如我们新建pys文件夹,在文件夹下创建sum.py文件,将上述定义的sum函数写在这个文件中,然后需要在main.py中调用这个方法,当前目录结构为

现在我们在main.py中调用这个方法,是没有办法直接调用到的,需要导入这个模块或者这个模块对应方法,代码如下所示。

from pys.sum import sum_number

导入之后就可以在main.py中正常调用了。在导入外部模块函数的时候可能出现与当前模块冲突的情况,所以我们还可以使用 as 关键字给导入的函数指定别名,比如,我们将sum_number函数指定别名为add,调用代码如下所示。

from pys.sum import sum_number as add

value = add(1, 2)
print(f"两个数的和为:{value}")

同样的我们也可以给导入的模块指定别名,这里就不展示了。如果我们想要导入模块下的所有函数可以使用*,代码如下所示。

from pys.sum import *

类

类的定义

面向对象编程的单位就是类,我们都是有开发基础的,所以这里不说类是什么,我们看如何在Python中使用类。

我们创建一个Student类,用于记录Student的姓名、年龄,成绩等信息,创建出的Student类如下所示。

class Student:

    def __init__(self, name, age, core):
        self.name = name
        self.age = age
        self.core = core

    def get_core(self):
        return f"{self.name}的成绩是{self.core}分"

这里有几点需要注意的:

  • 这里的init方法相当于java中的构造方法
  • 形参self是必不可少的,在实例化Student类的时候会自动传入
  • get_core函数由于要访问属性,所以也要传入一个self形参,如果不需要则不用包含

现在我们来实例化一个student,并且获取他的成绩,调用代码如下所示。

from pys.Student import Student

student1 = Student("黄林晴", 28, 95)
print(student1.get_core())

运行程序如下图所示。

其他的如更改类属性等方法都与在Java中大同小异,所以直接省略了。

类的继承

在Python中继承的写法也很简单,在子类声明的括号中传父类即可,比如有一个类Ahuangge继承自Student类,编写代码如下所示。

class Ahuangge(Student):

    def __init__(self, name, age, core):
        super().__init__(name, age, core)

    def get_core(self):
        print("qwe")

在init中调用父类方法,然后重写get_core方法返回字符“qwe”,当然我们也可以添加自己的独有方法属性等,这里就不再一一展示了,我们知道如何继承一个类即可。

编码风格

和其他语言基本一致,Python中的类名应采用驼峰命名法 ,即将类名中的每个单词的首字母都大写,而不使用下划线。实例名和模块名都采用小写格式,并在单词之间加上下划线。

对于每个类,都应紧跟在类定义后面包含一个文档字符串。这种文档字符串简要地描述类的功能,并遵循编写函数的文档字符串时采 用的格式约定。每个模块也都应包含一个文档字符串,对其中的类可用于做什么进行描述。

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

​

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
​

Pandas入门教程(二十二):股票数据分析实战——yfinance 获取数据、技术指标与收益率分析 把 Pandas 用在真实场景,才能体会它的价值。本文以茅台股票为例,用 yfinance 获取历史行情,完成缺失值处理与列筛选,绘制收盘价曲线,计算 SMA 移动平均线与 RSI 相对强弱指数,并通过日收益率、累计收益率和波动率完成完整的量化分析流程。 阅读详情

相关推荐

如何处理动态语言(Python / JS)的“隐形”调用链?

本文揭示动态语言(Python/JS)中静态AST解析导致调用链“断链”的核心问题,提出通过运行时追踪补全图谱的解决方案。基于Code-Graph-RAG的cgr trace机制,分别利用pytest插件与V8 Profiler捕获真实调用路径,将动态边合并至静态图谱,并在权重体系中提升动态边优先级。实践表明,该方法可显著提升图谱覆盖率,实现“结构+行为”双视角理解代码,为MCP与Rerank系统提供可靠支持。

xianyinsuifeng的博客 410

不破不立,那些年错过的Python!

很多时候我们需要让程序变成交互性的,能够对用户输入做出响应。交互性的应用程序可以极大丰富应用功能,比如我们可以做一个自己的聊天机器人等等,我们先来看如何接收用户的输入。面向对象编程的单位就是类,我们都是有开发基础的,所以这里不说类是什么,我们看如何在Python中使用类。我们创建一个Student类,用于记录Student的姓名、年龄,成绩等信息,创建出的Student类如下所示。return f"{self.name}的成绩是{self.core}分"这里的init方法相当于java中的构造方法。

程序员小麦的博客 99

Basilisk库教程

要在仿真中执行模块,其调度由Basilisk的[Process]和[Task]容器控制。BSK[Task]包含一系列模块,这些模块都以相同的更新频率执行。一个[Process]本质上是一个任务组,可以包含多个相关的任务。例如,在多星仿真中,你可以为每颗卫星创建一个[Process],以便将相关任务和嵌入式模块有序地组织起来。下图展示了一个示例布局,其中bskSat卫星的动力学被添加到与飞行软件(FSW)算法分开的进程中,这些算法在该卫星上执行。在每个进程中,设置了若干任务,这些任务以指定的频率进行评估。

weixin_57997461的博客 1137

【优快云星选】不破不立,那些年错过的Python

很多时候我们需要让程序变成交互性的,能够对用户输入做出响应。交互性的应用程序可以极大丰富应用功能,比如我们可以做一个自己的聊天机器人等等,我们先来看如何接收用户的输入。面向对象编程的单位就是类,我们都是有开发基础的,所以这里不说类是什么,我们看如何在Python中使用类。我们创建一个Student类,用于记录Student的姓名、年龄,成绩等信息,创建出的Student类如下所示。return f"{self.name}的成绩是{self.core}分"这里的init方法相当于java中的构造方法。

weixin_68789096的博客 97

飞傲Fiio+foobar2000 实现dsd解码+灯正常显示

飞傲Fiio+foobar2000 实现dsd解码+灯正常显示。安装后可将DSD格式的数据通过ASIO驱动传输至DAC。安装后可识别DAC的ASIO驱动。安装后可识别DSD文件。

yanlei7993的博客 2301

Hive SQL零基础到精通:100道练习题+答案,SQL能力快速提升

我将以我15年架构与开发的经验,带领大家从零基础到精通,通过精心设计的100道练习题及其详解,系统地、深度地掌握Hive SQL的核心精髓。它可以将结构化的数据文件映射为一张数据库表,并提供了一套类SQL的查询语言——HiveQL(简称HQL),允许熟悉SQL的用户直接查询存储在HDFS上的海量数据。它将Job描绘为DAG(有向无环图),允许更灵活的任务编排,避免不必要的中间落盘,可以复用容器,从而大幅降低延迟。希望你以此文为起点,在广阔的大数据世界里继续遨游,成为一名真正的数据高手!

架构师的AI之路,分享AI应用开发架构的学习与实践。 798

美女小姐姐从服装质检主管到软件测试工程师,他的月薪足足翻了3倍!

人越逼近30岁,越要擦亮双眼,因为,我们真的没有几个3年可以错过。从你大学毕业开始,到你30岁前,你只有三个3年可以折腾。

软件测试小dao 374

使用Python爬虫抓取政府网站政务信息:公告、通知的自动化抓取与分析

通过结合Requests、BeautifulSoup、Selenium等技术,你能够高效地抓取政府网站的数据,并通过MySQL存储与Pandas分析这些数据。通过自动化手段抓取这些信息,不仅可以提高数据收集的效率,还能够实时获取最新的政务动态,为政策研究、舆情分析等提供宝贵数据。我们将通过Python的Requests、BeautifulSoup、Selenium等工具,结合最新的技术实现一个完整的爬虫系统,帮助你轻松抓取并分析政务信息。通过爬虫,我们可以自动化地从指定网站上抓取公告、新闻、通知等信息。

2201_76125261的博客 1907

从服装质检主管到软件测试工程师,我的月薪翻了3倍

人越逼近30岁,越要擦亮双眼,因为,我们真的没有几个3年可以错过。 从你大学毕业开始,到你30岁前,你只有三个3年可以折腾。 如果你曾经和我一样,将精力错误的耗费在前两个3年里。那么,我劝你别急着消耗第三个第3年,先看清脚下,找到适合自己的路再继续前行。或许后面的路也不好走,但至少,比前面容易得多。 第一个3年:初入职场的热情与无奈 我毕业那年是2012年7月。伴随着相机的咔咔声,在欢声笑语与依依不舍中,我作别了昔日的校园,踏上了南下的旅程。 那是我职场生涯的第一站——深圳XX集团,一家服装设计公

程序员小濠 396

当启动容器的时候提示:exec format error?如何解决问题

Docker容器出现"exec format error"的主要原因是架构不兼容(如ARM设备运行x86镜像)。解决方案包括:1)匹配镜像与宿主机架构;2)构建时指定平台;3)安装QEMU模拟器;4)修复文件权限和格式;5)验证基础镜像兼容性。排查流程应从检查架构匹配开始,逐步验证权限、解释器和换行符等问题。建议优先使用多架构镜像,构建时明确指定平台,并使用buildx工具生成多平台镜像。调试时可进入容器手动验证文件格式和兼容性。

weixin_39291964的博客 2719

uniapp H5刷新页面后返回按钮失效问题完美解决方案

这个问题其实很隐蔽,尤其是uniapp H5 场景下刷新导致栈清理,很多开发者一开始都懵掉了。uniapp 内部对「页面栈只有一个」时的返回逻辑是reLaunch;所以只要在这个分支里替换为自己的逻辑(比如),就能顺利实现预期。目前我在项目里已经跑通了,暂时没发现问题。不得不说,知道源码里这个逻辑后,真的是醍醐灌顶,只能膜拜框架大佬了 🤯。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 524

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 409

TPAMI 2024 | 基于外观的深度学习凝视估计:综述与基准测试

人类目光提供了关于人类焦点和意图的有价值信息,使其成为研究的关键领域。最近,深度学习彻底改变了基于外观的眼神估计。然而,由于眼神估计研究的独特特征,如2D眼神位置和3D眼神向量之间的不公平比较以及不同的预处理和后处理方法,缺乏开发基于深度学习的眼神估计算法的明确指导方针。在本文中,我们系统回顾了使用深度学习的眼神估计方法。首先,我们沿着典型的眼神估计流程调查现有的算法:深度特征提取、深度学习模型设计、个人校准和平台。

小白学视觉 341

从一段视频到可漫游的 4D 有声场景:思路拆解与最小复现手记

只需一段手机视频,你就能生成可"走进去"的 4D 有声场景:转头时狗叫声方向随之变化,走近时声音更清晰。本文拆解 Video-to-4DAVScene 的核心思路,手把手带你用几十行 Python 搭出最小管线,把视频中的运动物体变成带空间位置的声源,并附上三个真实踩坑的排障经验,代码可直接跑。🎧

helloagent的博客 235

【如何学习CAN总线测试】——AUTOSAR网络管理自动化测试(CAPL源码)

上一章介绍的是AUTOSAR网络管理如何测试、用例设计,对于不满足手工测试的同学,本章就介绍AUTOSAR网络管理自动化测试。

测试领域技术分享 6238

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

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

【每天一个 Python 小案例30】Python 基础知识综合小项目:我的工具盒

作为系列收官,本篇把前 29 篇的知识点合成一个能直接用的命令行工具"我的工具盒":计算器(用 ast 解析表达式,不碰 eval)、单位换算与温度转换(一张换算表 + 特例分支)、记账与分类统计(Decimal + JSON 持久化)、以及用"字典当命令表"把菜单和业务逻辑解耦的主循环。文中对比了 eval 的安全隐患与 ast 白名单的做法,解释了 lambda 闭包在字典里的写法与晚绑定陷阱,并在最后给出整个系列的知识地图,把变量、数据结构、控制流、函数、类、异常、文件、标准库八块内容对应到具体篇目。

xinjiyaya的博客 427

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

详解Python条件语句

在 Python 中,if...else 是一种条件语句,可以根据给定的条件执行不同的操作。这个语句通常用于控制程序的流程。

2601_96798737的博客 208

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Python3 协程:异步编程的核心机制与实战

协程是解决I/O密集型任务等待瓶颈的高效机制,相比线程更轻量、无锁开销。从yield到async/await的演进,使异步编程语义清晰、易于理解。通过async/await可实现并发执行多个任务(如gather、create_task),显著提升网络请求、爬虫等场景性能。关键在于使用异步库(如aiohttp)替代同步库,避免阻塞事件循环。合理控制超时与并发数,才能发挥协程最大优势。

Lxn2zh的博客 159

torch.compile 差异仅 1e-6,边界样本预测为何翻转

torch.compile 加速后输出与 eager 不一致,部分预测翻转。逐层对比与 graph break 分析定位到动态分支翻转根因。容差回归仅适用于无分支翻转场景,零容忍场景应禁用编译。

昨日种种,皆成今我。今日种种,皆成新我。 159
上一篇: 超全整理|Python数据采集、分析、可视化,看这一篇就够了
下一篇: Python从进阶到高级—通俗易懂版
田野猫咪
博客等级 码龄4年 5080粉丝 502原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值