方法四:使用“命令提示符”查看Windows运行时间
很多时候,我们需要了解Windows PC的启动和运行时间。不过Windows系统并没有在显眼的地方明确标明当前系统已经运行了多长时间。不过,我们仍然可以使用“任务管理器”、“控制面板”、“命令提示符”或“PowerShell”等命令。常见的有五种方法来获取或推断 Windows 运行了多长时间PC一直在运行,服务没有中断。这是一种替代(非正统)方法,其中信息表示每次设备启动时都会重置的网络连接的正常运行时间。
很多时候,我们需要了解Windows PC的启动和运行时间。 例如:在解决问题或排除故障时,我们需要知道系统最近是否重新启动过; 我们发现电脑一直处于开启状态,但我们不记得是我们忘记关闭它还是电脑刚刚醒来; 或者甚至只是想看看设备已经运行了多长时间。
不过Windows系统并没有在显眼的地方明确标明当前系统已经运行了多长时间。 不过,我们仍然可以使用“任务管理器”、“控制面板”、“命令提示符”或“PowerShell”等命令。常见的有五种(两种图形界面+三种命令行)方法来获取或推断 Windows 运行了多长时间PC一直在运行,服务没有中断。
方法一:使用任务管理器查看Windows运行时间
要检查 Windows 设备启动所需的时间,最简单的方法是使用任务管理器:
1 使用Ctrl+Shift+ES快捷键打开“任务管理器”
2 首先单击“性能”选项卡-然后单击“CPU”选项
使用任务管理器检查 Windows 正常运行时间
您可以在页面底部右侧查看当前系统的“正常运行时间”,以DD:HH:MM:SS的格式显示。 因此,在上面的示例中,计算机自上次重新启动或重新启动以来已运行了 0 天 3 小时 19 分钟 2 秒。
方法二:使用控制面板查看Windows运行时间
确定系统正常运行时间的另一种简单方法(另一种方法)是使用以下步骤检查网络适配器状态:
1 使用Windows+R快捷键打开“运行”-执行控制命令打开“控制面板”
2 点击打开“网络和Internet”-“网络和共享中心”-点击左侧的“更改适配器设置”
3 双击连接到 Internet 的网络适配器
4 您可以使用“持续时间”来推断Windows PC当前的正常运行时间。
检查网卡连续连接时间
这是一种替代(非正统)方法,其中信息表示每次设备启动时都会重置的网络连接的正常运行时间。 (这是 Windows 设备运行的时间,只要您自上次启动设备以来没有重置网络连接。)
方法3:使用WMIC查看Windows运行时
要使用 WMIC 查看 Windows 运行时,请按照下列步骤操作:
1 在“开始”菜单中搜索cmd - 选择打开“命令提示符”
2 执行以下命令查询设备上次开机时间:
systeminfo | find "启动时间"
使用systeminfo查看系统启动时间
方法四:使用“命令提示符”查看Windows运行时间
命令行或脚本对于管理员执行批量操作始终很有用。 要使用命令提示符检查 Windows 正常运行时间,请使用以下步骤:
1 在“开始”菜单中搜索cmd - 选择打开“命令提示符”
2 执行以下命令查询设备上次开机时间:
wmic path Win32_OperatingSystem get LastBootUpTime
使用wmic检查Windows启动时间
命令行的输出可能看起来很庞大,但解释起来并不困难。 例如:
LastBootUpTime
20220722094206.500000+480
这意味着当前计算机自 2022 年 7 月 22 日上午 09:42 起一直在运行。 如果您想更具体,只需从当前时间减去上次启动时间即可推断出设备已运行的天数、小时数和分钟数。
方法五:使用“PowerShell”查看Windows运行时间
1 在“开始”菜单中搜索powershell - 以管理员身份运行“Windows PowerShell”
2 执行以下命令查询设备正常运行时间:
(get-date) - (gcim Win32_OperatingSystem).LastBootUpTime
使用 PowerShell 检查 Windows 运行了多长时间
执行上述命令后,您将获得系统运行时间信息,包括天、小时和分钟的列表。
“睡眠”和“休眠”模式不计入停机时间。 如果您使用计算机一小时,然后将其休眠过夜,则在早上重新打开计算机后,正常运行时间将是自您打开计算机(加电)以来的不间断时间。 要重置这些计时器,您需要物理关闭或重新启动。
最后,虽然本文基于 Windows 11,但它也适用于 Windows 10、Windows 8 和 Windows 7。
【新智元介绍】看看研究的问题能否转化为代码,小测试轻松解决!
最近,麻省理工学院博士。 汤姆·西尔弗发表了博客。 他认为,很多AI论文缺少“问题设置”部分,或者字数不够,导致定义不明确,导致读者读完论文后难以使用。 代码重现了具体方法。
在博客中,他介绍了自己如何写好问题设置部分的经验,并给出了一些他认为写得更好的论文示例,供参考和研究。
Tom Silver 是麻省理工学院计算机科学专业的五年级博士生。 他拥有哈佛大学计算机科学和数学学士学位。 主要研究方向为智能机器人,如自动规划、程序合成等。
问题设置中应该包含哪些内容?
除了纯粹的理论研究、实验现象的实证研究、提出新的基准数据之外,AI领域的大部分论文基本都包含三个要素:提出新方法(new method)、解决某一类问题(表现良好)针对某一类问题;
换句话说,在设置论文题时,你应该能够回答三个问题:
1.本文考虑什么类型的问题?
这个问题对于潜在读者来说很重要,他们想知道手头的问题是否符合论文中的问题类别。
2.方法的形式是什么?
这个问题对于寻找替代方案的潜在开发人员来说很重要,他们需要知道应该做出哪些设计选择。
3. 如何测试方法的性能?
这个问题不仅对审稿人有价值,对想要采纳论文中的研究建议的一般读者也有价值。
需要注意的是,研究背景与问题设置不同,可以为其他领域的读者提供一般背景知识,但不一定能回答这三个问题。
问题设置应该写在方法章节之前,并且应该给读者足够的信息,让他们在读完这部分后思考如何设计方法来解决问题。
将文本写入代码
通过一个简单的测试,你就可以检查你的论文的问题设置部分是否足够清晰和完整。
读者读完问题设置部分后,需要问自己目标受众能否实现Problem抽象类、Method抽象类和运行函数(输入是Problem和Method,输出是性能指标)。
抽象Problem类代表论文中定义的问题类别。 即使对于相对简单和熟悉的问题,例如图像分类,也需要非常精确地描述。
图像是灰度、RGB、RGB-D 还是任何 N 维矩阵? 尺寸可以不同吗? 可能的类别是否固定且已知? 数据集中是否存在训练/验证/测试集拆分?
如果这些问题已在问题设置部分明确回答,读者应该能够将文本转换为如下代码:
import abc
import time
from dataclasses import dataclass
from typing import List, Set, Tuple
import numpy as np
from numpy.typing import NDArray
GrayImage = NDArray[np.uint8] # two-dimensional
Label = str # e.g., "cat"
class Problem(abc.ABC):
"""An image classification dataset."""
@abc.abstractmethod
def get_training_data(self) -> List[Tuple[GrayImage, Label]]:
"""Labeled data for training."""
@abc.abstractmethod
def get_evaluation_data(self) -> List[Tuple[GrayImage, Label]]:
"""Held-out labeled data for evaluation."""
@abc.abstractmethod
def get_image_dims(self) -> Tuple[int, int]:
"""Images assumed the same size, e.g., (32, 32)."""
@abc.abstractmethod
def get_all_labels(self) -> Set[Label]:
"""Output classes assumed fixed, e.g., {"cat", "no-cat"}."""
Method抽象类描述了本文提出的方法的基本形式。
Method类可以从Problem中得到什么信息? Method 需要用这些信息做什么?
同样,即使对于熟悉的问题设置,也需要书面足够精确,以便在实施时不会出现歧义:
class Method(abc.ABC):
"""A method for image classification."""
@abc.abstractmethod
def init(self, image_dims: Tuple[int, int], labels: Set[Label]) -> None:
"""Initialize the method before training starts."""
@abc.abstractmethod
def train(self, training_data: List[Tuple[GrayImage, Label]]) -> None:
"""Train the method given training data."""
@abc.abstractmethod
def predict(self, image: GrayImage) -> Label:
"""Predict the class label for an image."""
run 函数描述问题和方法之间的接口,并确定最终报告的性能指标。
对于图像分类任务,实现很简单,但是仍然需要选择与问题相关的评估指标,并且需要在文本中清楚地描述选择过程。
@dataclass
class Metrics:
"""Metrics of interest for image classification."""
training_time: float
evaluation_accuracy: float
def run(problem: Problem, method: Method) -> Metrics:
"""Train and evaluate a method on a problem."""
# Initialization.
image_dims = problem.get_image_dims()
labels = problem.get_all_labels()
method.init(image_dims, labels)
# Training.
training_data = problem.get_training_data()
start_time = time.perf_counter()
method.train(training_data)
training_time = time.perf_counter() - start_time
# Evaluation.
evaluation_data = problem.get_evaluation_data()
num_correct = 0
num_total = 0
for img, ground_truth_label in evaluation_data:
num_total += 1
predicted_label = method.predict(img)
if ground_truth_label == predicted_label:
num_correct += 1
accuracy = num_correct / num_total
return Metrics(training_time, accuracy)
在实验中,文章需要考虑方法的不同子类别(新提出的方法、基线和消融实验)和问题的不同子类别(具有训练/测试分割的不同数据集、不同的强化学习环境等)。
如果问题设置一致,应该可以直接运行,然后在Result章节报告性能。
metrics = {}
for problem in problems:
for method in methods:
metrics[(problem, method)] = run(problem, method)
这部分的重点不是让读者实际实现任何可运行的代码,但是如果读者能够实现这两个抽象类和run函数,并给出足够的动机指示,那么问题设置部分就会写成功。
超越代码的语义
虽然上面提出的测试可以被认为是问题设置部分的必要条件,但它不是充分条件,即并非问题设置的所有特征都可以在代码中捕获。
除了测试中检查的语法信息之外,还应该表达一些额外的语义信息,包括:
1、上述运行示例中的灰度图像可能不是随机数组,而是真实的或生成的图像,以结构化或非结构化的方式存储; 它也可能是来自互联网的图像的随机子集,或者精确的图像。 卡通长颈鹿的精选集合。
2.分类标签可能存在一些错误:标签可以由人类(专家或非专家)注释,也可以使用脚本自动注释。
3. 训练可能意味着在大型计算机集群上长时间运行一次,或者在嵌入式设备上短时间运行数千次; 预测具有相似的自由度。
语义信息在问题设置部分很难检查,但它的重要性并不亚于问题本身。 为确保意图明确,请使用一个或多个具体示例来说明您环境中的问题和方法。 它是有益的; 将论文中的问题设置与以前相关工作中的问题进行比较和对比也很有用。
优秀的例子
有些论文的问题设置部分写得很好。
论文链接:
这篇论文在描述问题类别方面写得特别好,将其基本设置描述为 MDP 的分布。
但作者并没有就此止步。 他还直观、形式化地描述了文中提出的方法可以运行的一个分布,并且还清晰地建立了问题设置与其他常见问题之间的关系。
论文链接:
论文的问题设置部分对问题目标进行了出色、简洁的描述,并且作者选择了一个相对狭窄的框架来解决该问题。
论文链接:
论文的问题定义非常简洁,包含了所有的基本信息,描述了在线训练和评估过程中发生的一切,方法在形式上也非常清晰。
论文链接:
这篇论文很好地描述了一个非常复杂的问题设置,并使用图表来辅助它。
论文链接:
这篇文章的作者找到了一个清晰的方法,从抽象描述开始,然后用符号把问题说清楚; 问题设置中有很多符号,但是在这种情况下,符号是非常有必要的,对于阅读也有帮助。
参考: