简述AS3类

为了代码的结构更清晰,为了更好地面对对象编程,我们都习惯了用类的方式来编写代码

首先我们来了解下,类的结构,

Package

{

      publicclass MyClass

{

public function MyClass(){}

}

}

这是一个类的简单结构,类名习惯用大写开头。funciton 代表一个方法名,可以说是函数,而跟类名相同的方法(函数),我们称之为构造函数,就是这个类被实例化时执行的函数。 Package是包的意思,学过Java的人肯定对它不陌生,其实说简单点就是这个类文件所放的位置了。调用此类需导入(import),记得也要实例化类(new)


(const是定义常量(永远不能改变的量)

var是定义变量(能够改变的量))

 

AS3中属性关键字有这样几个:

1、 public:指定类、变量、常量或方法可用于任何调用者 (共,任何地方可以调用)

2、 protected:指定变量、常量、方法或命名空间只可用于定义它的类及该类的任何子类

3 、internal:指定类、变量、常量或函数可用于同一包中的任何调用者

 

4、 private:指定变量、常量或方法仅可供声明或定义它的类使用 (私有,本类可以调用)当然对于private变量的值我们可以用get和set方法来读取或写入

类的继承

类的继承关系就像动物与人类、父母与孩子,不过我们可以发现它和C++也一样拥有继承

(extends)关键字哦,这个关键字的作用就是说明,我们现在的这个类MySubClass是继承MyClass这个类的,继承之后我们就可以使用MyClass这个类里的变量和方法了,这样就达到代码重用的目的,比如说我们现在要写关于若干个球的类,有足球\篮球\排球等等,那么我们可以先找出这些的共性,先写一个球的类,然后再继承这个球的类写出若干个球的类,那么相同的东西就写在球的类中了,这个达到了代码重用;,那么由于MySubClass继承了MyClass,所以MySubClass也能使用MyClass里面拥有的public、protected变量了, private却是不行的,它是私有的

package net.smilecn

{

import net.smilecn.MyClass;//类在使用之前要先导入

public class MySubClass extends MyClass

{

public function MySubClass(){}

    }

}

-结-构(一部分没有在下表列出) xml: XMLLoader.as ---------------------- 加载xml的 xmlToArray.as ---------------------- xml转换Array util: ArrayUtil.as ---------------------- 数组辅助功能 setFrameout.as ---------------------- 延迟(帧)函数 clearFrameout.as ---------------------- 清除延迟函数 delayOut.as ---------------------- 延迟(秒)函数 EnterFrame.as ---------------------- 似as2enterFrame NumberUtil.as ---------------------- 逐个递加数字 setFor.as ---------------------- for循环函数体 tryRun.as ---------------------- try catch运行函数 url: Address.as ---------------------- 设置为首页/添加收藏夹/获取地址栏地址并且复制到右键 URL.as ---------------------- 跳转html/获取文件地址 Cookies.as ---------------------- shareObject似cookies HtmCookies.as ---------------------- 真实cookies JavaScript.as ---------------------- javascript交互 HTTPS.as ---------------------- url随机数 SNS.as ---------------------- 各个sns网站的分享 timeline: prevPlay.as ---------------------- 反向/正向播放mc Timeline.as ---------------------- 处理时间轴 time: TimeClick.as ---------------------- 计时器 TimeCount.as ---------------------- 计数器 TimeFormat.as ---------------------- 格式化时间 text: BitmapText.as ---------------------- bitmap文本副本 setDText.as ---------------------- 快速设置动态文本 replaceAll.as ---------------------- 替换字符 MiniFont.as ---------------------- mini字体库 test: MainLoad.as ---------------------- 测试框架 third:(部分第三方) stage: AutoSize.as ---------------------- 自适应屏幕尺寸 FullScreen.as ---------------------- 控制全屏 StageInit.as ---------------------- 初始化场景 object: AClass.as ---------------------- 获取对象所属的 all.as ---------------------- 全体对象调整 some.as ---------------------- 遍历并调用对象集属性 move: BasicMove.as ---------------------- 简单的运动方式 mouse: Menu.as ---------------------- 右键菜单 MouseCheck.as ---------------------- 检查鼠标是否移动 load: GroupLoader.as ---------------------- 列队加载一组元素 MCLoader.as ---------------------- loader组件 ProLoader.as ---------------------- 预加载 geom: Rectangular.as ---------------------- 控制目标在矩形区域内 RectangleUI.as.as ---------------------- RectangleUI工具条 events: BasicEvent.as ---------------------- 基本事件模式 ButtonEvent.as ---------------------- button相关的事件 FLVEvent.as ---------------------- FLV相关的事件 LoadEvent.as ---------------------- load相关的事件 ListEvent.as ---------------------- list相关的事件 EventManager.as ---------------------- 强大的事件管理器 draw: Painter.as ---------------------- 绘图 Pen.as ---------------------- 画笔 SmoothCurve.as ---------------------- 生成光滑曲线 debug: Debug.as ---------------------- 5K Debug trace.as ---------------------- 覆写trace traced.as ---------------------- traced输出 data: DataInterface.as ---------------------- 简化flash和后台交互 ValueMode.as ---------------------- 后台模式 ListPage.as ---------------------- 实现flash列表相关功能 display: addChildAndInit.as ---------------------- 添加显示对象并初始化 ContainerMovieClip.as ------------------ movieClip容器,一般用来存放加载的 DisplayGroup.as ---------------------- 显示对象群组 DisplayHelper.as ---------------------- 处理显示对象简便操作 hitTestObjects.as ---------------------- 像素级碰撞检测 LoaderSprite.as ---------------------- 处理Loader相关的Sprite Registration.as ---------------------- 变换注册点 SubMovieClip.as ---------------------- movieClip基 QMC.as ---------------------- 快速MovieClip --bitmap: GoodBmp.as ---------------------- 新的bitmap --color: Color.as ---------------------- 颜色工具 --quick: QuickMovieClipArray.as ---------------------- 保存QMC对象 --shell: CoreShell.as ---------------------- 控制显示对象的外壳 fp10(仅支持fp10.0以上版本): --a3d:(--A3D--) A3D.as ---------------------- 参数配置 Ball.as ---------------------- 球 Box.as ---------------------- 盒子 Camera3D.as ---------------------- 摄像机 Container3D.as ---------------------- 3d容器 Plane.as ---------------------- 基本面 Scene3D.as ---------------------- 主场景 --core: FP10Object3d.as ---------------------- 基本3d对象 IFP10Object3d.as ---------------------- 3D对象接口 Light.as ---------------------- 灯光 Material.as ---------------------- 材质 --move: Move.as ---------------------- 运动制作器 OrderTool.as ---------------------- Z轴排序器 zOrder.as ---------------------- Z轴排序函数 ToolMaker.as ---------------------- 3d工具制造器 fp10(仅支持fp10.0以上版本): --upfile JPGLoader.as ---------------------- 本地图片上传保存 JPGEncoder.as ---------------------- 压缩为jpg PNGEncoder.as ---------------------- 压缩为png component: --button: BasicButton.as ---------------------- 基本的按钮MODEL AssociativeButton.as ---------------------- 串联按钮MODEL. ParallelButton.as ---------------------- 并联按钮MODEL LabelButton.as ---------------------- 加标签的按钮 TwoFaceButton.as ---------------------- 两帧型按钮 ButtonManage.as ---------------------- 按钮统一管理器 --interactive: DragComponent.as ---------------------- 拖动功能元件。 MouseFollow.as ---------------------- 一组对象的鼠标跟随 MouseFollowBg.as ---------------------- 跟随鼠标的背景 --media: FLVVideo.as ---------------------- FLV播放器 MP3Sound.as ---------------------- 简单mp3播放器 --mouse: Cursor.as ---------------------- 自定义鼠标指针 --text: InputText.as ---------------------- 设置输入文本 Typewriter.as ---------------------- 打字效果 --ui: BlackMask.as ---------------------- 全屏遮罩 TipBox.as ---------------------- 提示框TipBox ScrollPane.as ---------------------- 滚动窗口组件 SliderLine.as ---------------------- 滚动条组件
PyTorch版DeepLabv3的测试过程如下: 1.导入预训练模型 首先需要导入预训练的DeepLabv3模型,可以使用官方提供的预训练模型或者自己训练的模型。 ``` from torchvision import models from torch import nn model = models.segmentation.deeplabv3_resnet101(pretrained=True) model.classifier[-1] = nn.Conv2d(256, num_classes, kernel_size=(1, 1), stride=(1, 1)) model.eval() ``` 其中,num_classes是待分别数量。 2.准备测试数据 测试数据需要与训练数据格式相同,即包括图像和标注两部分。可以使用PyTorch的dataloader读取数据。 ``` from torch.utils.data import DataLoader from torchvision.datasets import VOCSegmentation test_dataset = VOCSegmentation(root='path/to/VOCdevkit', year='2012', image_set='val', download=False) test_loader = DataLoader(test_dataset, batch_size=1, shuffle=False) ``` 3.进行测试 在测试过程中,需要将测试数据输入模型进行预测,并将预测结果与标注数据进行比较。可以使用IoU(Intersection over Union)指标来评估模型的性能。 ``` from tqdm import tqdm from torch.nn.functional import interpolate import numpy as np import torch iou_list = [] with torch.no_grad(): for image, target in tqdm(test_loader): image, target = image.cuda(), target.cuda() output = model(image)['out'] output = interpolate(output, size=target.shape[2:], mode='bilinear', align_corners=True) pred = output.argmax(dim=1).cpu().numpy() target = target.cpu().numpy() iou = np.sum((pred == target) & (target != 255)) / np.sum((pred != 255) | (target != 255)) iou_list.append(iou) print('Mean IoU: {:.4f}'.format(np.mean(iou_list))) ``` 其中,interpolate函数用于调整预测结果的大小,argmax函数用于获取预测结果中每个像素点的分标签。最后,将每个图像的IoU值求平均得到模型的平均性能指标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值