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日午夜(历元)经过的时间。

最新文章

  1. java学习第18天(map集合)
  2. 绘制相切弧arcTo
  3. iOS数据缓存及YYCache的实现分析
  4. SQL Server 2005中更改sa的用户名和密码
  5. Elasticsearch集群中处理大型日志流的几个常用概念
  6. 11---Net基础加强
  7. 有直接运行的runas命令,XP就有
  8. 常见的iis日志代码!
  9. Recover a file when you use git reset head by mistake.
  10. php和cookie
  11. CSS 弹性容器
  12. SqlSugar 盲点
  13. vue 组件传值
  14. 【.net】ASP.Net设置和取消设置web项目起始页
  15. vue+koa实现简单的图书小程序(2)
  16. 求n得阶乘得最后一位非零数字
  17. Linux下硬链接与软链接
  18. java线程中的interrupt,isInterrupt,interrupted方法
  19. 016——数组(十六)usort uasort uksort
  20. 79. Word Search在字母矩阵中查找单词

热门文章

  1. PHP中生成随机字符串,数字+大小写字母随机组合
  2. Java SPI机制实战详解及源码分析
  3. Java电商项目-3.使用VSFTPD_Nginx完成商品新增
  4. 动软生成Model(dapper.common)
  5. java基础(16):正则表达式、Date、DateFormat、Calendar
  6. 2-How nginx processes a request
  7. HC595驱动数码管
  8. 修复\okldr.mbr ,状态0x000000f
  9. Spark的Monitoring
  10. 五分钟搞懂什么是B-树(全程图解)【转】