记录Linux部署人脸修复GFPGAN项目Docker Python 使用

记录Linux 服务器使用人脸修复GFPGAN 项目

1:阿里云安装docker,用docker 是隔离环境,Python环境还真是麻烦…
https://help.aliyun.com/zh/ecs/use-cases/deploy-and-use-docker-on-alibaba-cloud-linux-2-instances

2:关于docker 镜像,想找个好的镜像也是很难,百度吧,很多Linux 镜像非常裸,甚至连语言包都没有,随便运行个命令都缺,最后用了这个 80M,最后装完依赖一共快12G…

docker pull ubuntu:20.04

3:关于docker 镜像,容器,保存,退出等一些操作
镜像:就是OS文件,每次 docker run 启动镜像都是新的一个容器;

容器:就是镜像启动后的的实例,镜像是OS文件,容器是这个OS启动的实例,一个镜像可以启动多个容器,互不相关;

保存:对于镜像是无法修改的,只能将当前容器保存为新的镜像 docker commit 容器id name:tag;

对于容器,默认是会自动保存的,停止|退出容器容器之后 可以通过 docker ps -a 查看上次的容器id,然后执行 docker exec -it 0e23162b2ae7 /bin/bash 进入容器;

后台执行容器:进入容器后 Ctrl + P + Q (大写),退出容器则不会停止容器;

文件传输:这个是非常不方便,没法直接编辑docker 容器内的文件,每次只能通过docker cp 命令传输…,修改配置啥的只能vim…

关于磁盘:每启动一个镜像都会占用镜像磁盘,每次生成镜像也会占用磁盘,不小心启动可很多容器可能磁盘瞬间被占用,可以通过命令 docker rm -f xxx 删除不要的容器

4:docker 常用命令

docker ps -a //查看所有容器docker images //查看镜像docker run -p 5555:3306-it 4cd1arx3cc1e /bin/bash //启动镜像,映射外网5555->容器3306docker exec -it 0e23162b2ae7 /bin/bash  //进入容器 (镜像是系统,容器是启动的对象)docker rmi -f f59b935248a8 //删除镜像docker rm -f xxx  //删除容器docker cp /usr/local/GFPGAN-master 683b7e0d7a42:/usr/local //复制文件导入容器里需要的是容器id,不是image iddocker commit 22517046707e pic_recover:pic_recover_v3 //保存修改后的镜像,是容器id,保存后才退出Ctrl + P + Q  退出容器不杀死容器

python 相关

//显示安装详情,有时卡很久可以看看情况
#pip3 install opencv-python-headless --verbose

安装多个python 并给对应Python 安装pip

1:curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2:python get-pip.py

如果你要为Python3.8安装pip,就把上面第二行命令换成:

python3.8 get-pip.py

用对应版本的python
安装依赖,有时卡很久大概率是网络不好,内部依赖太多,
并且内部依赖不能用镜像链接可能就一直在卡着,这时可以尝试先安装其他依赖,很可能会解决这个问题
尽量使用阿里云源安装pip

优先安装这个依赖,不然会卡住

pip3 install facexlib -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.compip3 install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

这里是手动找的py38 opencv_python版本,自动安装的好像是opencv_python-4.8版本但是 是cp37的,怕有影响,就手动安装了一个,主要之前总是提示cv2 model…安装这个没解决cv2问题,下面有解决方案

先下载后传到服务器安装
//下载地址 python-opencv里面找自己电脑合适的,安装

pip3 install opencv_python-4.5.4.60-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

//最后运行 出现cv2 model没找到,安装这个可以解决

apt install libgl1-mesa-glx

搞完安装lnmp,项目里用php做web服务

wget http://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz && tar zxf lnmp2.0.tar.gz && cd lnmp2.0 && ./install.sh lnmp

最后数据库权限,开通数据库端口外网访问,链接数据库后创建数据表,这里要关注docke 端口映射,默认docker 是不影射主机端口的,就是容器内的数据库只能容器内访问,外面是访问不了的,docker run -p 5555:3306 启动镜像,看上面docker命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxx' WITH GRANT OPTION;

ps:常用命令
ps -ef |grep php //查看后台php 进程
service mysql start //启动mysql

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/81021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VSCODE 使用技巧

vscode批量去掉代码中空行的方法 1、在vscode中使用ctrl f组合快捷键打开替换窗口. 2、输入下面的正则表达式 ^\s*(?\r?$)\n https://mp.weixin.qq.com/s/ZKV2sZWszxBLNTNLEWhsng 你的代码够安全吗?推荐5个VS Code代码安全插件 VSCode:人生苦短&…

C++项目实战——基于多设计模式下的同步异步日志系统-⑤-实用工具类设计

文章目录 专栏导读获取系统时间time介绍 getTime函数设计判断文件是否存在stat介绍exists函数设计 获取文件所在路径find_last_of介绍path函数设计 创建文件所在目录mkdir介绍find_first_of介绍函数createDirectory设计 实用工具类整理 专栏导读 🌸作者简介&#xf…

VS code 下 makefile 【缺少分隔符 停下来】 报错解决方法

首先来看报错的makefile源码 再来看报错的信息: 第5行缺少分隔符,其实不止是第5行,只要是前面需要加tab留白的行都会报这个错误,比如说第7行第11行 编译的时候,前面的留白必须是按tab键生成的 但是!&…

【JavaSE笔记】抽象类与接口

一、抽象类 1、概念 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 package demo2…

DM@数理逻辑@命题公式及其赋值@真值表@公式分类

文章目录 abstract命题公式及其赋值命题常项命题变项 命题公式合式公式(命题公式)限定基本联结词的合适公式的定义合式公式中的0和1子公式 **公式的层次定义**分层加括号 命题公式的赋值和解释成真赋值成假赋值公式的书写规范括号的省略 真值表赋值方法数量构造真值表 公式分类…

Json-Jackson和FastJson

狂神: 测试Jackson 纯Java解决日期格式化 设置ObjectMapper FastJson: 知乎:Jackson使用指南 1、常见配置 方式一:yml配置 spring.jackson.date-format指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具体的…

深入理解Windows句柄

引言 我们首先需要了解在windows内核中,为了方便管理一些相关的数据结构,Windows统一把它们称之为对象。在Windows内核代码中大量代码都是用C语言编写的。而我们知道在C语言中,并没有纯粹的面向对象,也没有类这一说。因此我们可以…

ArmSoM-W3之RK3588 Debian11详解

1. 简介 RK3588从入门到精通Debian 是⼀种完全⾃由开放并⼴泛⽤于各种设备的 Linux 操作系统。Rockchip在官⽅Debian发⾏版的基础上构建和适配了相关硬件功能 2. 环境介绍 硬件环境: ArmSoM-W3 RK3588开发板 软件版本: OS:ArmSoM-W3 Debia…

WPF 如何让xmal的属性换行显示 格式化

WPF 如何让UI的xmal 按照下面的格式化显示 首先格式化显示在VS中的快捷键是 Ctrl KD 然后需要配置,工具 选项 -文本编辑器 -xmal -格式化-间距 更改成如下就可以了

[2023.09.12]: Yew应用开发的第一个hook--use_state

Yew的SSR模式推荐使用function_component组件,并且在function_component中使用hooks。其中,我使用到的第一个hook是use_state。use_state的设计意图与React中的useState非常相似,都是为了保存并修改当前的状态。然而,由于Yew是用R…

RK3588 点亮imx586摄像头

一.硬件原理图 mipi摄像头硬件确认点: 1.供电:5V,2.8V,1.2V,1.8V,reset脚(硬拉3.3,上电的时候从低到高),pwron脚外接 3.3V。 2,时钟:MCLKOUT是2…

Python正则表达式(re)

正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为…

已知平面内三点,求其平面的法向量

三点平面法向量 设三点坐标为A(x1,y1,z1),B(x2,y2,z2),C(x3,y3,z3) 向量AB(x2-x1,y2-y1,z2-z1),AC(x3-x1,y3-y1,z3-z1) AB、AC所在平面的法向量即ABAC(a,b,c),其中: a(y2-y1)(z3-z1)-(z2-z1)(y3-y1) b(z2-z1)(x3-x1)-(z3-z1)(x2-x1) c(x2-x1)(y3-y1)-(x3-x1)(y2-y1)…

JavaScript-DOM实战案例

一、window定时器 1.window定时器方法 有时我们并不想立即执行一个函数,而是等待特定一段时间之后再执行,我们称之为“计划调用(scheduling a call)”。 目前有两种方式可以实现: setTimeout 允许我们将函数推迟到一…

xen-gic初始化流程

xen-gic初始化流程 调试平台使用的是gic-600,建议参考下面的文档来阅读代码,搞清楚相关寄存器的功能。 《corelink_gic600_generic_interrupt_controller_technical_reference_manual_100336_0106_00_en》 《IHI0069H_gic_architecture_specification》…

【flink进阶】-- Flink kubernetes operator 版本升级

目录 1、检查当前 flink kubernetes operator 版本 2、停止生产上正在运行的 flink job 3、升级 CRD

linux万字图文学习进程信号

1. 信号概念 信号是进程之间事件异步通知的一种方式,属于软中断。 1.1 linux中我们常用Ctrlc来杀死一个前台进程 1. Ctrl-C 产生的信号只能发给前台进程。一个命令后面加个&可以放到后台运行,这样Shell不必等待进程结束就可以接受新的命令,启动新的进程。2. S…

简单记录一下Splunk ES 升级

1: 背景: 现在有些app 产品对splunk ES (enterprise security) 的版本有要求,这个就要求splunk ES 随着Splunk enterprise 也一起升级,下面先列一下各个版本的兼容: Splunk products version compatibility matrix - Splunk Documentation 下面列出的8.2.11 的版本: 2:…

day38 代码回想录 斐波那契数爬楼梯使用最小花费爬楼梯

大纲 ● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯 509. 斐波那契数 题目:509. 斐波那契数 // 斐波那契数列 // 动规 5部曲 // 1 dp[i]代表i处的斐波那契值 // 2 递归公式:dp[0] 0, dp[1]1, dp[i]dp[i-1]dp[i-2] // 3…

9月16日,每日信息差

今天是2023年09月16日,以下是为您准备的15条信息差 第一、天猫超市首单“茅小凌”已由菜鸟送达,首单已由菜鸟供应链完成履约,18分钟送达消费者手中 第二、软银考虑对OpenAI进行投资。此外,软银还初步拟收购英国人工智能芯片制造…