实战笔记(md)

一.Jupyter Notebook快速上手指南

Jupyter Notebook快速上手指南

1).Jupyter计时

对于计时有两个十分有用的魔法命令:%%time 和 %timeit. 如果你有些代码运行地十分缓慢,而你想确定是否问题出在这里,这两个命令将会非常方便。

1.%%time 将会给出cell的代码运行一次所花费的时间。

    %%time
    import time
    for _ in range(1000):
        time.sleep(0.01)# sleep for 0.01 seconds
     
    output:
    CPU times: user 196 ms, sys: 21.4 ms, total: 217 ms
    Wall time: 11.6 s

2.%time 将会给出当前行的代码运行一次所花费的时间。

    import numpy
    %time numpy.random.normal(size=1000)
     
    output:
    Wall time: 1e+03 µs

3.直接计时作差

import time

st1 = time.time()
要测运行时间的代码
st2 = time.time()

print('所用时间:',st2-st1)

4.%timeit 使用Python的timeit模块,它将会执行一个语句100,000次(默认情况下),然后给出运行最快3次的平均值。

    import numpy
    %timeit numpy.random.normal(size=100)
     
    output:
    12.8 µs ± 1.25 µs per loop (mean ± std. dev. of 7 runs, 100000 loops each)

2).在jupyter中使用终端命令

只需在命令前加个感叹号
在这里插入图片描述

该命令用于列出所有可用的 NVIDIA 设备信息。

GPU状态监测 nvidia-smi 命令详解

在进行深度学习实验时,GPU 的实时状态监测十分有必要。今天详细解读一下 nvidia-smi 命令。

这里写图片描述
在这里插入图片描述
上图是服务器上 GeForce GTX 1080 Ti 的信息,下面一一解读参数。
上面的表格中的红框中的信息与下面的四个框的信息是一一对应的:

GPU: GPU 编号
Name: GPU 型号
Persistence-M: 持续模式的状态。持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态
Fan: 风扇转速,从0到100%之间变动
Temp: 温度,单位是摄氏度
Perf: 性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能(即 GPU 未工作时为P0,达到最大工作限度时为P12)
Pwr:Usage/Cap: 能耗
Memory Usage: 显存使用率
Bus-Id: 涉及GPU总线的东西,domain: bus :device.function
Disp.A: Display Active,表示GPU的显示是否初始化
Volatile GPU-Util: 浮动的GPU利用率
Uncorr. ECC: Error Correcting Code,错误检查与纠正
Compute M: compute mode,计算模式

下方的 Processes 表示每个进程对 GPU 的显存使用率。

3)Jupyter Notebook 的快捷键

Jupyter Notebook 的快捷键

二.python基础

1)format 格式化函数

format 格式化函数

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。

实例
>>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
'hello world'
 
>>> "{0} {1}".format("hello", "world")  # 设置指定位置
'hello world'
 
>>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'

也可以设置参数:

实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
 
# 通过字典设置参数
site = {
   "name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
 
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的

输出结果为:

网站名:菜鸟教程, 地址 www.runoob.com
网站名:菜鸟教程, 地址 www.runoob.com
网站名:菜鸟教程, 地址 www.runoob.com

也可以向 str.format() 传入对象:

实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
class AssignValue(object):
    def __init__(self, value):
        self.value = value
my_value = AssignValue(6)
print(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值