0

18

docker运维

最近参与一些运维工作,因此做一下容器运维的常用命令笔记。

docker ps

docker ps命令参数:

  • -a 显示所有容器,包括停止状态的
  • --format 输出格式(ID,Names,Image,Created,Status,Ports,Command)
  • --no-trunc 显示完整的输出格式(包括Command)

如下所示:

docker ps --no-trunc --format "table {{.Names}}\t{{.Image}}\t{{.Command}}"
docker ps --no-trunc --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Command}}"
docker ps --no-trunc --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Ports}}\t{{.Command}}"

docker inspect

docker inspect 用于查看某容器的运行状态,例如:

……

乐果   发表于   2024 年 05 月 16 日 标签:docker 继续阅读

0

27

windows环境下insightface安装配置

安装好 Cygwin 后基本上可以像 linux 系统一样在命令行下执行常用的命令了。

例如 python 的 conda 隔离环境下 使用 pip 安装依赖等。

今天 pip 安装 insightface 人脸检测与识别时报错,后面解决了,记录一下。

pip 安装 insightface

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  insightface==0.7.3

安装报错如下截图:

……

乐果   发表于   2024 年 05 月 14 日 标签: 继续阅读

0

31

windows环境下cygwin配置

习惯了 ubuntudebian 桌面系统,转到 windows 有点不适应。

例如 gitvimssh……等都不能用就很不方便了,不过装上 cygwin 就可以满足。

安装 apt-cyg

Cygwin 环境下安装依赖包可以使用 apt-cyg,它就像 apt install 之于 debian /ubuntu

#使用以下命令从GitHub克隆apt-cyg
git clone https://github.com/transcode-open/apt-cyg
#进入apt-cyg目录
cd apt-cyg
#将apt-cyg安装到/bin目录下
install apt-cyg /bin
#使用apt-cyg安装tree命令
apt-cyg install tree

你可能会遇到以下报错

$ apt-cyg install tree
/usr/bin/apt-cyg: 行 25: $'\r': 未找到命令
/usr/bin/apt-cyg: 行 121: 未预期的记号 "$'{\r'" 附近有语法错误
'usr/bin/apt-cyg: 行 121: `function wget {

windows 文件系统影响,apt-cyg 一些特殊符号不被 linux 认识。 使用 dos2unixapt-cygwindows 系统版本转为 linux 系统版本。

$ dos2unix /usr/bin/apt-cyg 
dos2unix: 正在转换文件 /usr/bin/apt-cyg 为Unix格式...

使用Expect自动登陆ssh

安装上 TclExpect 两个工具。

可以使用 apt-cyg 命令安装,也可以在安装 Cygwin 的时候选中这两个包。

命令安装的话使用下面的两个命令:

apt-cyg install tcl
apt-cyg install expect

……

乐果   发表于   2024 年 05 月 14 日 标签: 继续阅读

0

472

insightface人脸识别算法的应用

在研究 stable-diffusion 的一些 ai 功能时,发现了 insightface 这个开源的人脸检测识别、比对算法模型库。

github 源码

python 类库 : https://pypi.org/project/insightface/

在对它应用时发现一些环境兼容性的问题,因此作一下笔记。

insightface 安装

insightface 目前 python 官方的版本是 0.7.3

pip install insightface

命令即可安装

环境兼容性问题

由于 0.7.3 版本大概两年前,彼时 numpy 版本应该是 1.22.3
因此它使用了 numpy.ini 这个属性,但目前 numpy 版本已经迭代到 1.26 以上, numpy.intNumPy 1.20中已弃用,在NumPy 1.24中已被删除,所以没有numpy.int

因此,insightface 实际使用时会报错:

Traceback (most recent call last):
  File "/data/work/py/sd-api/main.py", line 80, in <module>
    start(sys.argv[1:])
  File "/data/work/py/sd-api/main.py", line 72, in start
    img2img.img2img(filename)
  File "/data/work/py/sd-api/img2img.py", line 150, in img2img
    cv2.imwrite(faceSaveName, face_analyser.draw_on(faceCheckImg, faces))
  File "/home/xiao/anaconda3/envs/sd/lib/python3.10/site-packages/insightface/app/face_analysis.py", line 84, in draw_on
    box = face.bbox.astype(np.int)
  File "/home/xiao/anaconda3/envs/sd/lib/python3.10/site-packages/numpy/__init__.py", line 324, in __getattr__
    raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'int'.
`np.int` was a deprecated alias for the builtin `int`. To avoid this error in existing code, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations. Did you mean: 'inf'?

解决办法,要么根据提示,将代码中对应的 numpy.ini 修改成 numpy.ini_, 即修改 insightface 源码。

……

乐果   发表于   2024 年 05 月 08 日 标签:pythonai 继续阅读

0

655

android开发笔记 | 日志跟踪理解 activity 生命周期

因公司技术应用的需要,今年准备为自己增加一门技能:安卓开发。

今天在ubuntu系统环境下,把 Android Studio 编辑器安装好了, 同时也安装了java sdk 8 ……

开发环境

ide 安装: Android Studio 下载

jdk8 安装:华为镜像 可以选择去 Orical 官网下载,但官网下载实在是太慢了,所以选择用华为镜像。

sudo tar -xvzf ./jdk-8u151-linux-x64.tar.gz -C /opt/java

添加环境变量,把下面两行添加到 /etc/profile

export JAVA_HOME=/opt/java/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH

kotlin

现在的 android 开发跟十年前已经有很大区别,2017年谷歌公司将 kotlin 语言作为 android 开发的主要语言,现在越来越多的应用开始转向 kotlinkotlinjava混合模式开发。

作为新手,建议买一本书籍熟悉一下,例如我买了人民邮电出版社(图灵)的这本:Android编程权威指南(第4版) ,有需要电子版的可以私下向我索要。

activity 生命周期

这几天学习过程中,发现安卓的开发跟现在的前端开发比较像,组件化、事件驱动等。

android 的每个 Activity 实例都有其生命周期。在其生命周期内,activity运行、暂停、停止和不存 在这四种状态间转换。每次状态转换时,都有相应的 Activity 函数发消息通知 activity

上图显示了 activity 的生命周期、状态以及状态切换时系统调用的函数。 内存中是否有 activity 实例、用户是否可见、是否活跃在前台(等待或接受用户输入中),看图中的各种状态就知道了。

……

乐果   发表于   2024 年 04 月 07 日 标签:android 继续阅读

较旧的文章
热评文章