清华Chat GLM实际应用与布署

最近Chat GLM2-6B与130B已开源,为了布署应用,肝了两天终于得偿所愿。总体说,对于小白来说,布署和配置是要花一些时间的,但理解了其内在安装、布署的原理以后,就越来越简单了。特别是需要有python的基础,从及web网页开发的知识。

这次布署主要是Chat GLM2-6B,还有一个可以值得学习的模型是谷歌的LLama2-6B以及13B,接下来要分两两步走:

1、对模型进行微调,以适应自己的生产环境。

2、新的知识库的扩充、以及确保模型的回答的正确性

由于这个键盘太烂,打字太慢,等新键盘到了以后再做记录吧。AI时代已经来临,是否能分到一杯羹,保持学习,跟上部队,应该是有很大的空间的。

Stable diffusion是图形处理值得借鉴的地方

Stable diffusion一般人用来生图,与绘图,还有训练模型,但从底层绘图思路来看。它的绘图能力与Contralnet的很多功能,在工程应用当中可以扩展能力很强。比如:深度图deepth的控制,边缘控制,应该都是很失进的算法。

在一些工程领域需要解决这些问题的时候,可以来Stable diffusion的插件与主程序里来翻代码。它将是一个非常好的案例!

当然还有清华大学的Chart GML也是相当不错的语言类人工智能生成器。可惜我的电脑算力跟不上,显存最小都跟不上。

AI绘图与Chat GPT

近期花了很多时间在AI绘图与Chat GPT各类人工智能的使用上,未来人类的智慧将会全部移植到计算机的人工智能当中。在各行各业,AI发挥出的潜力与能力已经非常人所能企及,而且它还是全能型的。而且它的创造力与想像力,均可以向人类模仿。不知道将来会是人类的工具,不是人类的敌人——在人类对人工智能默化潜移的依赖与思考上,AI显然比我们思考的更多,更快……

Blender系列

近期忙于Blender系列,已有两个月没有解决Web问题了。但已学习完成了Blender\Md\ZBrush\Substrance painter等系列的使用。并通过3d能实现$海外帐户paypal的收益,十分辛苦,但极为充实。

不过,主业不能落下。所以接下来,还要加油鸭~!

Global Mapper 20与Blender实现GIS建模

在研究RealityCapture BETA 1.0为解决三角网成地形图的问题,发现这两个软件在粗略进行GIS建模还是很方便的,都是从世界地图上下载高程再形成点云,特别是Global Mapper可以成等高线比较方便。是搞地信与测量福音,也许还要研究一下怎么搞,我个人觉得实现RealityCapture BETA一定是可行的。

地形点云有了,三角网也有了,只差一点,真可惜,哪天请教一下高手和地信专业的人。

下面是Global Mapper 20实现台湾:澎湖岛屿,的等高线图:

下面是blender 插件实现:昆明市,西山区一个三维图:

RealityCapture BETA神作

近期浪费了很多时间研究这个东西,终于有所得,但仍有一条通道没有完成。

解决的问题:由一组照片生成一个高精度三维模型,RealityCapture BETA真是一个逆天软件。十几张照片即能反算出相机位置,还能生成点云。实现三维建模。这个软件是真正神作!不再需要激光扫描、不再需要GPS测量、不再需要实地测量。

再为方便的是,生成的网格对像与点云可以导入blender和3ds Max

3dsMax

如此密集的点云,不拿来出等高级图以及做DTM图,真的可惜了。

但Global Mapper 20 研究半天,由于学艺不精一直未解决这个问题。希望有一天能看到相关同学能解决这个问题:拿三维点云与三角网生成DTM,以后海地、伟地等相关软件可以无缝连接。

PyQt5开发搞定参数代入表格计算

为解决TableView内部的表格计算功能,让自己填写/修改的公式与数字能直接像Excel一样进行计算,今天搞了一天。终于实现这项功能。

参数的代入功能:

主要实现的参数为:exec(i),即是将所有参数进行一次公式化转计算
all_parameter = re.sub('\'', '_1', all_parameter)
list_all_parameter = re.split('\n', all_parameter)
print(list_all_parameter)#得到一个列表
for i in list_all_parameter:
    try:
        exec(i)  # 列表内所有计算参数在这里实现赋值
    except:
        print('公式参数无法转化')
        return

参数存入内存以后,即开始进行表内数据的eval(i)

row_n = self.widget_child_insertData_model.rowCount()
# 刷新计算结果:
for i in range(row_n):
try:
result_01 = round(eval(str(self.widget_child_insertData_model.index(i, 4).data())), 8)
result_01 = QStandardItem(str(result_01))
self.widget_child_insertData_model.setItem(i, 6, result_01)
result_02 = round(eval(str(self.widget_child_insertData_model.index(i, 5).data())), 8)
result_02 = QStandardItem(str(result_02))
self.widget_child_insertData_model.setItem(i, 7, result_02)
except:
self.widget_child_insertData_model.setItem(i, 6, QStandardItem('Null'))
self.widget_child_insertData_model.setItem(i, 7, QStandardItem('Null'))
self.insertData_color_the_wrongData(i, 6, self.widget_child_insertData_table)
self.insertData_color_the_wrongData(i, 7, self.widget_child_insertData_table)

多次将数据进行:

str转字符串化—->eval转计算化—->round转两位数值化—–>QStandardItem化,最后载入到model当中,大功告成!

近几日已经将右键菜单全部功能搞定:

最后只差一个“复制”,“粘帖”与Excel进行交互了。

最近开发上了头,得缓,得缓。不然身体搞不住。

最大的需求:努力解决CSS的问题

现在最大的需求,就是努力解决CSS库能套用的问题。

现在后台数据处理有一些了解,主要精力还是集中在CSS入门的问题。HTML也需要加油!从整体来看,我个人觉得Django要比PyQt5简单一些,因为不再需要自己将需求来造轮子,而且ORM相对来说比较友好。

加油吧!中年!

Django开发加油!

从PyQt5一路走来,为实现网页平台的数据共享与交互,应该是学习Django已有一个月。基本的东西在Python基础下学习很快,但还有很多前端未知道的东西都是首次接触。

最大的困难,应该还是自己摸索,很费时间。没有办法,谁能理解一个全栈技术人员的学习的道路是多么的漫长。从后端数据库~到前端网页,都在按自己的需求不断深入。我不认为专业的人能有多么厉害,多么能进入角色,仅仅一个又一个python的库要搞明白怎么用,至少也需要两三天的时间。

人生苦短,用Python是正确而且明智之举。

真要我自己写那么多轮子,定制那么多功能与插件,我不认为我能坚持得下去。从最近我搞MySql接口就能看出一个轮子的编译对我这种菜鸡来说真TM费劲。最后Django数据库的对接,原来准备的Mysqlclient没有Python3.10版本,有PyMysql能取代。轮子多了算是救了我一命,否则又要重新搞Python版本与数据库的版本真费劲。

近期能搞定的事情:

1、基本平台的搭建,数据参数的显示(包括列表与字典);

2、数据库的连接,以及表功能的增、删、查、改功能实现;

接下来要搞定的事情:

3、完善一个系统的小功能;

4、完善一个大系统的功能;

5、CSS对网页的美化;

功能需要实现逐渐有眉目了,不知道Django能做到什么程序,但先作为入门学好吧。

终于开发完成了!AIMTSS V1.0版真不容易,出色的GUI+面象需求功能逐步完美

今天写完了最后三个区域list列表,以及Dock——Tree内的右键功能,V1.0算是开发完成了,可以投入试算与运营了。牛逼的是,绘图功能也开发出来了一半,只等完善,从没有感觉到如此神清气爽……

自己发明的:金字塔表达方式 绘图模型

由于是工程师直接面对的是生产环境与自己切身需求而写,所以适用性是一个一个功能试出来的,虽然存在Bug但绝不简单,主要是好用。

从GUI开发来看,我得到如下感受与启发:

1、用过数据库以后,那种流畅与速度,感觉以前的EXCEL在面对大数据面前就是渣渣;

2、开发一个好的软件,是需要面向需求,反复打磨,不是一簇而就;要出一个软件简单,但出一个好的软件真的好难;

3、GUI的开发一直是行业亏本的买卖,有这么多时间搞GUI性价比不如上net。这使得我们在选择的时候,就要做好决策;

4、要做好一个软件,切不能急不求成。很多功能,不是你肝一两天就能出来的,持续多年的加班与肝下去,慢慢你就是大神;

5、写软件的说明书:比写软件还痛苦,真不能急;

6、虽然有很多BUG,但我还是针对我的需求自己写一系列正则表达式,解决自己需要的问题,轮子造出来后,想要什么功能就有什么功能!我能做轮子,积累下来,以后有需求就是神作。

7、慢慢完善!专业类的软件,不要上火!不要上火!不要上火!重要事情要说三遍。程序员千千万,能写得比你好的多如牛毛,但专业上没有人比你强!需求体验上没有人比你了解!别急,一步一步的写,慢慢完美。

8、同步尽快学习Django

9、回过头看自己写的东西:什么玩意?一堆S山,居然能跑……功能还不错,虽然有这样那样的问题,但不影响使用。要改,只等发烧的时候了。现在紧要的是上新功能,新技术,上.net,我要,我全都要……

10、Python未来是非专业流:主流方向,初学很简单—>越来越肝—>调包!这玩意能这么干!—->这玩意还能这么干!—->什么都能干—>学点C我想造轮子—>轮子怎么这破?—>这不是有人做了么?拿来用!—>别想再让我做轮子—>调包搞定,虽然运行效率慢但可以忍受—–>优化!pythonic