y.cpu()使用CPU进行计算。
y.cuda(),使用GPU进行计算。
独热码是一组数,其中只有一个值为1,其余都是0。同样的,一组数中只有一个0,而其余都为1则称为独冷码。
举例:
如四类物品,标签为1,2,3,4.
采用独热编码,一个标签对应一个编码:
1:[1,0,0,0]
2:[0,1,0,0]
3:[0,0,1,0]
4:[0,0,0,1]
为什么要用独热编码呢?
argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过这个我们可以获取在命令行输入的内容。
使用方法:
import argparse
parse = argparseArgumentParser('Model')#Model是自己定义的名字
parse.add_argument('--model',type=str,default='mymodel',help='model name[default:mymodel]')
return parser.parse_args()
#1、通过函数创建日志信息
import logging
#创建日志函数
def log_string(str):
logger.info(str)
print(str)
普通日志的创建步骤:
import logger
#创建logger
logger = logging.getLogger('mylogger')
logger.setLevel(logging.info)
#创建一个handler,用于写入日志文件
file_handler = logging.FileHandler('test.log')
file_handler.setLevel(logging.info)
#在创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.info)
#定义handler的输出格式(formatter)
formatter = logging.Formatter('%(asctime)s-%(name)s-%(levelname)s-%(message)s')
#给handler添加formatter
file_handler.setFormatter(formatter)
ch.setFormatter(formatter)
#给logger添加handler
logger.addHandler(file_handler)
logger.addHandler(ch)
之后可以正式开始写日志文件了。(logging模块参数的详细解释,请参考:https://blog.csdn.net/pansaky/article/details/90710751)
Python3之后,自带的pathlib模块的Path对路径操作更加简单,可以取代os.path了。
from pathlib import Path
#获取当前目录
current_path = Path.cwd()
print(current_path)
#输出:/Users/liuzihao/Documents/项目文件/测试文件
#获取home目录
home_path = Path.home()
print('\n',home_path)
#/Users/liuzihao
#获取当前目录的父目录
print('\n',current_path.parent)
# /Users/liuzihao/Documents/项目文件
#如果父目录很长,可以用遍历的方法获取所有父目录
for p in current_path.parents:
print(p)
#/Users/liuzihao/Documents/项目文件
#/Users/liuzihao/Documents
#/Users/liuzihao
#/Users
#/
from pathlib import Path
#name目录的最后一个部分
example_path = Path('/Users/liuzihao/Documents/项目文件/from_json_to_txt.py')
print(example_path.name)
#from_json_to_txt.py
#suffix目录中最后一个部分的拓展名
example_path = Path('/Users/liuzihao/Documents/项目文件/from_json_to_txt.py')
print(example_path.suffix)
#.py
#stem目录最后一个部分,没有后缀
example_path = Path('/Users/liuzihao/Documents/项目文件/from_json_to_txt.py')
print(example_path.stem)
#from_json_to_txt
from pathlib import Path
example_path = Path('/Users/liuzihao/Documents/项目文件/测试文件/test1')
example_path.mkdir(exist_ok=True)
from pathlib import Path
example_path = Path('/Users/Anders/Documents/pic-2.jpg')
# 判断对象是否存在
print(example_path.exists())
# 输出如下:
# True
# 判断对象是否是目录
print(example_path.is_dir())
# 输出如下:
# False
# 判断对象是否是文件
print(example_path.is_file())
# 输出如下:
# True
#strip()的用法
str =' airphone 123421 5 '
print(str)
#结果:' airphone 123421 5 '
str2 = str.strip()#只删除开头和结尾处的空格
print(str2)
#结果:'airphone 123421 5'
>>> str = ('www.google.com')
>>> print str
www.google.com
>>> str_split = str.split('.')
>>> print str_split
['www', 'google', 'com']
>>> str_split = str.split('.',1)
>>> print str_split
['www', 'google.com']
>>> str_split = str.split('.')[0]
>>> print str_split
www
>>> str_split = str.split('.')[::-1]
>>> print str_split
['com', 'google', 'www']
>>> str_split = str.split('.')[::]
>>> print str_split
['www', 'google', 'com']
>>> str = str + '.com.cn'
>>> str
'www.google.com.com.cn'
>>> str_split = str.split('.')[::-1]
>>> print str_split
['cn', 'com', 'com', 'google', 'www']
>>> str_split = str.split('.')[:-1]
>>> print str_split
['www', 'google', 'com', 'com']