transport endpoint is not connected
linux 中使用 sshfs 挂载其他服务器硬盘或目录到本地服务器,当长时间不操作后,再次访问本地挂载点会出现 Transport endpoint is not connected,如何解决该问题?
假设本地挂载点为 /mnt/datafs,那么可以使用如下命令卸载掉当前挂载:
1fusermount -u /mnt/datafs
参考文献
Transport endpoint is not connected [closed]
Transport endpoint is not connected in SSHFS
python 编译或打包 py 文件
python 是一种解释性语言,其执行时先将代码编译到内存中的 PyCodeObject 中,当程序运行结束后,将 PyCodeObject 写入到硬盘的 .pyc 文件中。当下次运行时,首先检查是否有 .pyc 文件,如果找到,那么就直接载入 .pyc 文件;否则直接编译 .py 到内存中形成 PyCodeObject。.pyc 可以理解为 PyCodeObject 的持久化保存。
编译py为pyc命令行编译
12345678# compile 单个文件python -m py_compile hello.py# 编译文件夹下的所有文件,和 .py 同文件夹python -O -m compileall -b -f hello_dir# 编译后放到 __pycache__python -O -m compileall -f hello_dir
代码中编译
1234567# 单个文件import py_compilepy_compile.compile(r'hello.py')# 多个文件import compileallcompileall.compile_ ...
python 连接 mysql 数据库
python 连接 mysql 数据库,可以把生产的数据存入到 mysql 数据库,从 mysql 数据库中读取数据。本篇基于 linux 简单介绍。
安装 mysql12345678910111213sudo apt updatesudo apt install mysql-server# 启动 mysqlsudo service mysql# 访问数据库mysql --defaults-file=/etc/mysql/debian.cnf# 或者查看用户名密码,然后使用用户名和密码登录cat /etc/mysql/debian.cnfmysql -u debian-sys-maint -p
创建数据库和表、支持中文12345678910111213141516171819mysql --defaults-file=/etc/mysql/debian.cnf# 查看可用数据库mysql> show databases;# 创建新数据库mysql> create database dro;# 创建新表mysql> use dro;Database changedm ...
libstdc++.so.6 版本问题
在运行深度学习模型时,有时候会遇到 libstdc++.so.6 过低,导致 GLIBCXX_xxx.x.xx 无法找到,可以尝试使用如下方法解决。
查看当前 GLIBC 版本1strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC
通过上面命令可以查看当前系统默认安装的各个 GLIBC版本。
查找 MINICONDA 安装的版本在 miniconda 的 lib 中安装的 libstdc++.so.6 版本一般会比系统版本高,但是,系统默认的版本没有链接到该版本。可以先查找 miniconda 安装的 libstdc++.so.6 版本
1234567find / -name "libstdc++.so.6" -type f# 输出结果大概如下/usr/lib/x86_64-linux-gnu/libstdc++.so.6/opt/conda/pkgs/libstdcxx-ng-11.2.0-h1234567_1/lib/libstdc++.so.6/opt/conda/envs/py38/ ...
深度学习中的归纳偏置
在阅读人工智能,特别是深度学习相关的文章时,总会遇到 inductive bias 一词,翻译为归纳偏置。本篇介绍该词的含义。
归纳归纳法或归纳推理(Inductive reasoning),有时叫归纳逻辑。它基于对特殊的代表的有限观察,把性质或关系归结到类型。或者基于对反复再现的现象的模式的有限观察,公式表达规律。如:
冰是冷的
所有观察到的乌鸦是黑的
他总是把画像挂在钉子上
推断出普遍的命题
所有的冰都是冷的
所有乌鸦都是黑的
所有画像都是挂在钉子上
过度普遍化,在某些情况下是错的。
多数人学习的形式逻辑是演绎(演绎推理 Deductive reasoning,又叫正向推理。结论可从叫做‘前提’的已知事实‘必然地’得出推理。如果前提是真的,那么结论必然为真。如:大前提是“任何三角形只可能是锐角三角形、直角三角形和钝角三角形”,小前提是“这个三角形既不是锐角三角形,也不是钝角三角形”,结论是“这个三角形是直角三角形”)的,而归纳推理则时属于非形式逻辑。归纳论证从来就不是有约束力的,但它们可以是有说服力的。归纳推理在演绎上是无效的。
归纳偏置归纳偏置(Inductive b ...
FLOPS 还是 FLOPs
在基于深度学习的人工智能研究中,经常会出现 FLOPS 和 FLOPs,大模型时代时出现 GFLOPS、TFLOPS 等等。本篇简要介绍下。
FLOPsFLOPs 是 FLoating-point of OPerations 的缩写,表示浮点运算次数,常用来衡量算法或模型复杂度。
具体计算包括模型运行时有多少次乘法和加法。常用工具有 torchstat, thop 等。
FLOPSFLOPS 是 FLoating-point Operations Per Second 的缩写,表示每秒浮点运算次数,常用来衡量硬件的性能。
除此之外,还有 GFLOPS(Giga Floating-point Operations Per Second)、TFLOPS(Tera Floating-point Operations Per Second),它们之间的换行如下:
123456789101112# 一个MFLOPS(megaFLOPS)等于每秒一百万(=10^6)次的浮点运算1MFLOPS = 1000,000FLOPS# 一个GFLOPS(gigaFLOPS)等于每秒十亿(=10^9)次的 ...
mac 挂载硬盘
Mac 上挂载 ntfs 硬盘默认无法写入,本篇介绍如何在 Mac 上挂载 ntfs 硬盘,并支持磁盘读写。
Mac 上挂载 ntfs 硬盘需要 ntfs-3g 支持,首先我们安装它。
安装1234567# 添加源brew tap gromgit/homebrew-fuse# 安装brew install gromgit/fuse/ntfs-3g-mac# 或者brew install ntfs-3g-mac
安装完成后,就可以使用了
挂载硬盘首先我们通过 USB 连接硬盘到 Mac 上,查看硬盘设备号
1diskutil list
我这里是 /dev/disk2s1 挂载到 /Volumes/My Passport。
然后卸载 mac 自动挂载(自动挂载方式无法写入)
1sudo umount /Volumes/My\ Passport
最后再使用 ntfs-3g 进行挂载
123456# 创建挂载点cdmkdir passport# 进行挂载sudo /usr/local/bin/ntfs-3g /dev/disk2s1 /Users/jinzhongxu/passpor ...
jetson 安装 librealsense 和 realsense-ros
jetson 连接 d435i(Intel(R) RealSense(TM) Cameras) 后,如何在 ros2 中使用?需要安装 librealsense 和 realsense-ros,本篇介绍如何安装它们。
安装 librealsense首先请先查看 librealsense 的 github 网站,里面有关于 jetson 上配置的详细教程:https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md,主要命令如下:
1234567sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDEsudo ...
jetson orin NX 开启最大性能
06e2ac5bc284b9422305031efac35cbfd06cba0f87cae9d279990608ee5dee8501ddf9c695364603cf482e60f055c4271f30c6d4a4e9fd1502454d6cb3ce1cb54481d3ba808031fd30ca082b0f549a211dd682e29e50341dee54fea954b663ede103da6084eec99bb05123be7cee7ba718775e412e71b81b20b08597db0e59160a5db8e1c05f4fcb191b0af235f94eb215655961efead12e63ceacb0badf538c8def52b33e0e2617972522ae6fc283962d68a0126073a8ee3cccfc049d90c9172ecfeaecb874ddea9adafe58d4fbe5e6765c6db4e3c12fe93ec66a7445536e6e189f8e0aa92cb4e3126031212c8cc2c5aa3de963319aecdd9 ...
使用 trickle 限制 linux 上应用程序的下载和上传速度
当网络带宽有限时,一个程序抢占式占用带宽会导致其他程序无法使用带宽传输数据。本篇介绍如何使用 trickle 限制某个程序的上传和下载速度。
介绍trickle 是一个便携式轻量级用户空间带宽限制器,可以在协作模式(与 trickled 一起)或独立模式(-s)下运行。它通过预加载自己的套接字库包装器来工作,通过延迟数据来限制流量。 trickle 完全在用户空间中运行。
并不是所有程序都能利用 trickle 进行限速。因为 trickle 是使用动态链接和加载,所以它只对使用 “Glibc库” 的程序有用。判断一个程序是否能使用 trickle:
1234567891011121314ldd $(which scp) | grep libc.so# libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2fad4be000)ldd /usr/bin/wget | grep libc.so ...
使用 tensorrt 加速 pytorch 模型推理
938c9f4496a31f2165e016e151ff3d04b1949e3ce0b3c22461efc461ac18b7694bb33f079a2b1213dbb5570238b6b36d889e987784b9882a112c4dc5c4a3387d6bcc47eefb028ac65a7f93f73ba2eff581ab15567632d26ab5eaa7a2c42c47975ac0fa6a1d6a851a6b93a51475f9a9a50aa29732466825d5421a2fa5be92355bbe05720543362ccd432348db4b5b4c2c57d5e5b7665e2749d79dbb02414f8e5d6f4a8889950e923f00b961bf1936b6874f36e0626c6c1022bfe4fd0fbb48b37650ad63055509b8db01acc92f75ac733d495a2d5cf33856719bc4750b5c56d0d91e233160678abde9c21eee487eab6a5cea809bdb95535df47 ...