Note | Python
PyCharm+远程服务器
预备工作
PyCharm专业版,可以用教育邮箱激活。
远程服务器,ssh可联通,记录其ip。
远程服务器上有Python,针对深度学习任务最好有Anaconda。
Pycharm配置
设置代码同步(PyCharm实际上会把代码传到服务器上运行):
Tools
->Deployment
->Configuration
->Connection
,点击左边的加号(添加部署服务器)。输入ip,端口,用户名(一般是linux的),密码,Root path(如/home/ming
)。该path会在下一步用到。建立与一个项目有关的主文件夹,里面是所有相关代码。在该文件夹右键,选择
Open Project as PyCharm Project
。在
Mappings
内,设置本地路径和对应的部署路径。本地路径就是你的项目代码所在的路径(所以要同步嘛),部署路径是代码在服务器上的保存位置。例如/ML
。注意这是相对路径,即相对于上一步的Root path。Web path不管。如果有一些目录不想同步(例如大文件、配置文件等),可以在Excluded Paths
中添加。允许自动创建文件夹:
Tools
->Deployment
->Options
勾上Create empty directories
。在
File
->Settings
->Project: XXX
->Project Interpreter
内,点击右侧小齿轮,add
你的解释器(远程的哟)。选择SSH Interpreter
->Existing ...
,选择部署服务器,然后Next
。找到你的anaconda环境里的python解释器,例如/home/ming/anaconda3/envs/pt1.2_py3.6/bin/python3
。注意,Sync folders
也是Root path的相对路径,因此填/ML
即可。最后,保证
Tools
->Deployment
里的Automatic Upload
勾上了即可。也可以对某个文件手动同步。
list方法
index()
:只返回第一个查询到的的索引值。
如果要返回多个,建议用列表推导和max()
方法,逐个对比即可。
os
查看目录是否存在,不存在则创建
if not os.path.exists(dir_save_stack): os.makedirs(dir_save_stack) # 如果是单层目录,可以用mkdir
imageio
保存灰度图像数组为png
假设Y通道经过处理后,得到了一个[0,1]之间类型为np.float32
的数组output
。我们想保存到output_path
路径,步骤为:去掉多余的B和C维度 => 脱离梯度运算,转移至CPU,转换为numpy数组 => 乘以255 => 转换为uint8
格式 =>imageio.imwrite
保存。imageio.imwrite(output_path, ((torch.squeeze(output).detach().cpu().numpy()) * 255).astype(np.uint8))
警告:我曾经尝试过保存为png,结果图像被有损压缩了。如果需要进一步处理(比如算psnr),建议保存为bmp。
Python Image Libarary (PIL)
JPEG压缩并保存
from PIL import Image img = Image.open("lena.png") img.save(img_save_path, "JPEG", quality=quality) # quality = 1 is the worst, quality = 95 is the best
random
按种子打乱序列
random.seed(17) random.shuffle(order)
time
time.time()
:返回以秒为单位的、从1970年1月1日午夜(历元)经过的时间。
Note | Python的更多相关文章
- Python基础知识整理
//占位,缓缓写完 http://www.xuebuyuan.com/2117676.html 迭代器与生成器http://www.cnblogs.com/wilber2013/p/4652531.h ...
- Python基础、 内置函数
一.概述 Python中内置了很多函数: 可以通过help().dir()方式查看函数的功能,使用内置函数通常效率更高 abs() abs函数接收一个数字对象,返回它的绝对值,如果接受的对象不是数字抛 ...
- program 1 : python codes for login program(登录程序python代码)
#improt time module for count down puase time import time #set var for loop counting counter=1 #logi ...
- Python内置函数(59)——open
英文文档: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, ope ...
- Python代码缩进与测试模块
一.Python代码缩进 Python 函数没有明显的 begin 和 end ,没有标明函数的开始和结束的花括号.唯一的分隔符是一个冒号 ( : ),接着代码本身是缩进的. 例如:缩进 bui ...
- Python内置函数(47)——open
英文文档: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, ope ...
- python网络爬虫笔记(一)
一.查询数据字典型数据 1.先说说dictionary查找和插入的速度极快,不会随着key的增加减慢速度,但是占用的内存大 2.list查找和插入的时间随着元素的增加而增加,但还是占用的空间小,内存浪 ...
- 写出简洁的Python代码: 使用Exceptions(转)
add by zhj: 非常好的文章,异常在Python的核心代码中使用的非常广泛,超出一般人的想象,比如迭代器中,当我们用for遍历一个可迭代对象时, Python是如何判断遍历结束的呢?是使用的S ...
- 五:python 对象类型详解二:字符串(上)
一:常量字符串 常量字符串用起来相对简单,也许最复杂的事情就是在代码中有如此多的方法来编写它们. eg:单引号:'spam"m' , 双引号: “spa'm” , 三引号:‘’‘... ...
随机推荐
- Codeforces Round #598 (Div. 3) D. Binary String Minimizing 贪心
D. Binary String Minimizing You are given a binary string of length n (i. e. a string consisting of ...
- 80%应聘者都不及格的JS面试题
共 5024 字,读完需 6 分钟,速读需 2 分钟,本文首发于知乎专栏前端周刊.写在前面,笔者在做面试官这 2 年多的时间内,面试了数百个前端工程师,惊讶的发现,超过 80% 的候选人对下面这道题的 ...
- Ubuntu 16.04 + Realsense D435i + ROS 环境配置
参考: [1] Realsense-Ros: https://github.com/IntelRealSense/realsense-ros#installation-instructions [2] ...
- 想成为Python高手,必须看这篇爬虫原理介绍!(附29个爬虫项目)
互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前. 一.爬虫是什么? 如果我们 ...
- 手动创建分区以及软硬raid的问题
本文章旨在介绍安装centos7时手动分区问题,及其所对应的软硬raid问题.在新建centos7系统时,需要手动分区时,提供给我们三个选项: 在上图中,默认选项为“Standard Partitio ...
- window.onload在文档加载完成后执行
验证a .b两点疑惑: a.<script src="./main.js"></script>中的window.onload是在html全部加载完了才执行, ...
- 解决 canvas 下载含图片的画布时的报错
Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may no ...
- 让iphone5s 支持 flex 布局
/* Center slide text vertically */display: -webkit-box;display: -ms-flexbox;display: -webkit-flex;di ...
- WPF 使用XML作为绑定源时Xaml注意事项
直接在xaml定义时xml时应该注意的! xml数据 <?xml version="1.0" encoding="utf-8"?> <Stri ...
- C# abstract 和 interface 区别
抽象类主要用来提供多个派生类可共享的基类的公共定义,它与非抽象类的主要区别如下: 抽象类不能直接实例化. 抽象类中可能包含抽象成员,但非抽象类中不可以. 抽象类不能被密封. 接口具有以下特征 接口类类 ...