Pyinstaller使用以及配置文件编写
PyInstaller 使用以及配置文件编写目录 PyInstaller 使用以及配置文件编写 目录 1. 什么是 PyInstaller 1.1 PyInstaller 简介 1.2 PyInstaller 的常用指令 2. PyInstaller 配置文件(spec 文件) 2.1 什么是 spec 文件 2.2 Spec 文件结构 2.3 Analysis 分析阶段 2.3.1 入口脚本 (scripts) 2.3.2 数据文件 (datas) 与二进制文件 (binaries) 2.3.3 隐藏导入 (hiddenimports) 2.3.4 钩子路径 (hookspath) 2.3.5 排除模块 (excludes) 2.3.6 collect_all() 自动收集 2.4 PYZ 阶段 2.4.1 基本用法 2.4.2 参数说明 2.5 EXE 阶段 2.5.1 基础参数 2.5.2 参数详细介绍 2.6 COLLECT 阶段 2.6.1 基本用法 2.6.2 参数说明 2.6.3 upx_exclude - 排除某些文件的压缩 3. 总结 ...
pt模型转为tfjs的一种参考方法
.pt模型转为tfjs的一种参考方法前排提醒仅方法仅实践于windows系统下的yolo8与yolo12的情况,其余情况可行性有待验证。 情景个人需要将模型嵌进expo go中需要使用tfjs格式的模型,根据网络教程打算采用.pb转onnx转savemodel转tfjs的方法,但转出来的模型总会报错。猜测是windows不能使用tensorflowjs 的 Python 转换器会 import tensorflow_decision_forests(TF-DF),而 TF-DF 在 Windows 没有 pip 版本(没有那个 inference.so),所以就直接炸了inference.so not found。官方文档也写明了 Windows 上没有 TF-DF 的 Pip 包 解决方案既然windows行不通,那就用linux。使用docker中的linux容器进行模型转换。 编写Dockerfile文件创建对应容器12345678910111213141516171819202122232425262728293031dockerfileFROM python:3.10-...
查无此人
査此无人 ——查无此人小姐异闻录 “查无.此人女士,我们现在确定了——您失忆了。”这位白大街的医生拿着一张X光片看了看,如实说道。 “那医生,我该怎么办呢?”医生面前这位留着长发的女士便是梦想成为世界顶流小说家的查无.此人.不过十分戏剧性的是,正当她要着手写出她惊世骇俗的第一部小说时,她失忆了,连同构思好的故事一起丢失了。 “不必着急,女士。您只需要好好地活着,记忆自己便会来找你。”白大街打发走了此人女士。 回想着医生说的话,此人小姐半信半疑地走出了医院,开始向家的方向赶去。今天是星期日,纵然失去了记忆,但查无.此人小姐并不想因此而错付了美好的周日。她从昨天下了班就开始归划今日份的计划了:从医院回来,如果回家收拾好东西后,离中午还早便先去离家不远的小花园逛一逛,春天到了,那里五颜六色的花朵是都已然开了的。然后中午再从小花园出发向东边的小咖啡馆,在那里度过一下悠闲的下午后,就可以回家写小说了。 “不过,已经失忆了,就写不了小说了呢。那就看一看电视好了。”此人小姐暗暗想着,改变了计划。不一会儿,此人小姐到了家。她将医院带回来的东西收拾好,看一看钟表——10:15。查无此人小姐换上了她...
gin的使用
gin的使用简介Gin 是一个用 Go 语言编写的高性能 HTTP Web 框架,特别适合需要高并发和快速响应的 Web 应用程序 1go get -u github.com/gin-gonic/gin gin框架中的路由创建gin 路由器12r := gin.Default()// 创建一个默认的 Gin 路由器r.Run(":8080")// 启动服务器,监听 8080 端口 不同的请求方式GETGET请求用于从服务器获取资源,一般为查询语句使用 1r.GET("url",Middleware,Callback)//参数为url,中间件(匹配路由前后的操作),回调函数(请求处理) POSTPOST请求用于新建资源,一般是创建、注册语句使用 1r.POST("url",Middleware,Callback) PUTPUT请求用于更新资源,一般是更新语句使用 1r.PUT("url",Middleware,Callback) DELETEDELETE请求用于删除资源,一般是删除语句使用 1...
gorm使用
gorm使用数据库链接以及配置dns设置与数据库链接12345678910111213dns := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s&parseTime=true", username,//用户名 password,//用户密码 host,//ip port,//端口 database,//数据库名称 charset//字符集 ) //使用tcp链接的dns(用于数据库链接)db, err := gorm.Open(mysql.Open(dns), &gorm.Config{})/*Open的第一个参数是确定链接的数据库类型并提供相应的dns,除了mysql还有postgres、sqlite、sqlserver第二个参数用来配置GORM的行为,比如设置数据库连接池的大小、日志级别、命名策略等*/ 连接池的配置1234567func (db *DB) SetConnMaxIdleTime(d time.Duration) //...
go语言错误处理
go语言错误处理错误处理基本思路1234result, err := someFunction() //调用函数通常会返回一个值和一个错误对象。if err != nil { //错误对象如果为nil,表示没有错误;否则,包含了关于该错误的信息 log.Fatal(err) //将错误写入日志并退出} 自定义错误信息1234567type MyError struct { Message string} func (e *MyError) Error() string { return fmt.Sprintf("错误信息是:%s", e.Message)} 错误处理方法使用error包12345//假设这是一个模拟除法的函数,n是除数if n == 0 { return 0, fmt.Errorf("无效的参数n: %d", n) //fmt.ERRorf可以格式化输出错误信息 return 0,errors.New("division ...
go联动dbms
最基本的样式123456789101112131415161718192021222324252627282930313233import( "database/sql" _ "github.com/go-sql-driver/mysql")func main(){ db,err := sql.Open("mysql","user:password@tcp(127.0.0.1:3306/hello") rows,err:=db.Query("select id,name from users where id = ?",1) if err!=nil{ //XXX } defer func(){ err = rows.Close() } var users []User for rows.Next(){ bar user U...
go语言函数与指针
go语言函数基础函数形式123func add(a, b int) int { return a + b} 变长参数传入12345678910111213// 函数Myfunc()接受任意数量的参数,这些参数的类型全部是intfunc Myfunc(numbers ...int){//...type只能是最后一个参数 for _,number := range numbers { fmt.Println(number) }}Myfunc(1,2,3,4,5,6)slice := []int{1,2,3,4,5,6}Myfunc(slice...)//传递切片时需要在末尾加上 ... 作为标识func Myfunc(i ...interface{}){ //可以传入任意数量的任意类型的参数} 匿名函数匿名函数的基本形式123func(a,b int) int { return a+b} 匿名函...
go语言基础变量与拷贝
go语言基础变量类型变量定义12345var a int/float32/float64/string/bool/... = valuevar b := value //自动确定类型var c [3][4] int //2维int型数组interface{}//存储任意类型//可以只声明不赋值,数值类型默认为0 布尔类型默认为false 字符串为"" 其他基本为nil nilnil 是一个预先声明的标识符,指针、通道、函数、接口、map、切片的零值就是nil nil 是没有默认类型的,他的类型具有不确定性,我们在使用它时必须要提供足够的信息能够让编译器推断 nil 期望的类型 以下是 nil 的一些注意事项: 1. 声明一个 nil 的 map,map 可以读数据,但是不能写数据 2. 关闭一个 nil 的 channel 会引发 panic 3. nil切片不能进行索引访问,会引发 panic 4. 方法接收者为 nil 时,如果在方法内使用到了会引发 panic 5. 空指针一个没有任何值的指针 切片(变...
go语言输入输出与控制流
go语言输入输出输入fmt包的输入123fmt.Scanf("%d %f %s %t %c", &a, &b, &str, &c, &d) //格式化输入,与C相同fmt.Scan(&a, &b, &c, &str) //与Scanf类似但无格式化fmt.Scanln(&a, &b, &c, &str) //读取一整行输入 main函数传参通过OS包的Args获取main的参数(此方法不能确定参数类型) os.Args是一个[]string类型,命令行中的参数会被写入到os.Args数据中 12345func main(){ for i,j=range os.Args{ fmt.Println(j) //os.Args[0]存放的是程序地址 }} 通过flag包的Parse()获取参数(此方法可以指定类型,携带tag) 需要声明参数对应的类型和格式 123456var b = flag.S...
