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 ...
Ubuntu 上安装 vlc 并使用 root 用户播放
VLC 多媒体播放器,最初名为 VideoLAN Client,是 VideoLAN 计划的开放源代码多媒体播放器。支持众多音频与视频解码器及文件格式,并支持DVD 影音光盘、VCD 影音光盘及各类流协议。它也能作为单播或多播的流服务器在 IPv4 或 IPv6 的高速网络连线下使用。VLC 支持多平台,如 Windows, Linux, MacOS, Android, ios 等,同时支持 SMB. 本篇介绍如何在 Ubuntu 上安装它并解决无法用 root 播放 vlc 的问题。
安装 vlc1sudo apt update && sudo apt install vlc -y
root 用户播放默认 root 用户无法打开 vlc,强制打开可能会报如下错误:
VLC is not supposed to be run as root. Sorry. If you need to use real-time priorities and/or privileged TCP ports you can use vlc-wrapper (make s ...
本地大模型部署方案之一:ollama 和 open webui
大语言模型的成功,让我们感觉到人类已经站在智能化时代的起点。ollama 无疑是目前相对比较容易启动并运行大型语言模型的解决方案之一,经过一段时间的测试使用,发现它非常适合本地部署使用各种开源大模型,运行效率高,速度快。结合 open webui 能够提供类似于 chatgpt 一样的效果。
安装 ollama这里以 Ubuntu 18.04 为例,其他系统的安装请参考ollama官网.
最简单的方式是一键式安装:
1curl -fsSL https://ollama.com/install.sh | sh
不过,我更喜欢的是手动安装和卸载,因为我自己已经安装好 CUDA 驱动等:
12345678910111213141516171819202122232425262728293031sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/local/bin/ollamasudo chmod +x /usr/local/bin/ollamasudo useradd -r -s /bin/false -m ...