使用PlotNeuralNet绘制深度学习网络图的基本操作(二)

2023-11-16

使用PlotNeuralNet绘制深度学习网络图的基本操作(二)

接下来我们利用pycharm来绘制当中我们的神经网络模型架构,目标是直接将.tex文件生成为pdf和png。我在学习的过程中参考了一些学习视频,觉得这个up主讲的还不错:
1.PlotNeuralNet_1_环境搭建与演示
2.PlotNeuralNet_2_概览与优化
3.PlotNeuralNet_3_分析与自定义绘图(完结)
视频会教你如何使用和修改当中的很多函数,并且直接将模型生成.pdf文件,我这里还进行了一些配置可以用代码将.pdf文件直接转化成为.png,希望能给大家提供一些帮助。
要想将pdf转换成png,需要你到官网下载这个文件:Ghostscript releases,配置完成后,我们就可以进行绘图啦。
代码中都有注释,大家可以仔细看看。

1.cnn网络框架

import sys
import os
import subprocess
sys.path.append('../')
from pycore.tikzeng import *


# 定义神经网络架构
arch = [
    to_head('..'),
    to_cor(),
    to_begin(),
    # 输入图像的名字
    to_input("1.jpeg", to='(-5,0,0)', width=6, height=6, name="temp"),
    to_input("2.jpeg", to='(-4,0,0)', width=6, height=6, name="temp"),
    to_input("3.jpeg", to='(-3,0,0)', width=6, height=6, name="temp"),
    to_input("4.jpeg", to='(-2,0,0)', width=6, height=6, name="temp"),
    to_input("5.jpeg", to='(-1,0,0)', width=6, height=6, name="temp"),

    # 调用当中的函数绘画模型的内容
    to_Conv("conv1", s_filer=256, n_filer=3, offset="(0,0,0)", to="(0,0,0)", height=50, depth=50, width=3, caption='CONV1'),
    to_Pool("pool1", offset="(0,0,0)", to="(conv1-east)", height=32, depth=32, width=3, caption="MaxPool1"),

    to_Conv("conv2", s_filer=63, n_filer=16, offset="(3,0,0)", to="(pool1-east)", height=32, depth=32, width=3, caption='CONV2'),
    to_connection("pool1", "conv2"),
    to_Pool("pool2", offset="(0,0,0)", to="(conv2-east)", height=16, depth=16, width=3, caption="MaxPool2"),

    to_Conv("conv3", s_filer=15, n_filer=64, offset="(3,0,0)", to="(pool2-east)", height=16, depth=16, width=3, caption='CONV3'),
    to_connection("pool2", "conv3"),
    to_Pool("pool3", offset="(0,0,0)", to="(conv3-east)", height=10, depth=10, width=3, caption="MaxPool3"),

    to_SoftMax(name='fc1', s_filer=64, offset="(4,0,0)", to="(pool3-east)", width=1.5, height=1.5, depth=100,
               opacity=0.8, caption='FC1'),
    to_connection("pool3", "fc1"),

    to_SoftMax(name='fc2', s_filer=10, offset="(2,0,0)", to="(fc1-east)", width=1.5, height=1.5, depth=50,
               opacity=0.8, caption='FC2'),
    to_connection("fc1", "fc2"),

    to_SoftMax(name='fc3', s_filer=5, offset="(2,0,0)", to="(fc2-east)", width=1.5, height=1.5, depth=5,
               opacity=0.8, caption='FC3'),
    to_connection("fc2", "fc3"),

    to_end()
]


def main():
    # 获取文件名
    namefile = str(sys.argv[0]).split('.')[0]

    # 转换成为.tex文件
    to_generate(arch, namefile + '.tex')

    # 使用 LaTeX 编译器将 .tex 文件转换为 .pdf 文件
    subprocess.call([r'D:\MiKTeX\install\miktex\bin\x64\pdflatex.exe', namefile + '.tex'])

    # 生成pdf
    pdf_file = namefile + '.pdf'
    # 生成png
    image_file = namefile + '.png'

    # 将pdf转化成为png
    subprocess.call([r'D:\ghostscript\gs10.01.1\bin\gswin64c.exe', '-sDEVICE=pngalpha', '-o', image_file, '-r300', pdf_file])

    # 删除中间生成的文件
    cleanup(namefile)


# 删除中间生成的文件
def cleanup(namefile):
    extensions = ['.aux', '.log', '.tex']
    for ext in extensions:
        filename = namefile + ext
        if os.path.exists(filename):
            os.remove(filename)


if __name__ == '__main__':
    main()

在这里插入图片描述

AlexNet网络框架

import sys
import os
import subprocess
sys.path.append('../')
from pycore.tikzeng import *


# 定义神经网络架构
arch = [
    to_head('..'),
    to_cor(),
    to_begin(),
    to_input("1.jpeg", to='(-5,0,0)', width=6, height=6, name="temp"),
    to_input("2.jpeg", to='(-4,0,0)', width=6, height=6, name="temp"),
    to_input("3.jpeg", to='(-3,0,0)', width=6, height=6, name="temp"),
    to_input("4.jpeg", to='(-2,0,0)', width=6, height=6, name="temp"),
    to_input("5.jpeg", to='(-1,0,0)', width=6, height=6, name="temp"),

    # s_filer表示该层的图像大小 (需要自己计算),n_filer表示输入通道和输出通道大小 (自己设定)
    to_Conv("conv1", s_filer=256, n_filer=3, offset="(0,0,0)", to="(0,0,0)", height=50, depth=50, width=3, caption='CONV1'),
    to_Pool("pool1", offset="(0,0,0)", to="(conv1-east)", height=32, depth=32, width=3, caption="MaxPool1"),

    to_Conv("conv2", s_filer=63, n_filer=64, offset="(3,0,0)", to="(pool1-east)", height=32, depth=32, width=3, caption='CONV2'),
    to_connection("pool1", "conv2"),
    to_Pool("pool2", offset="(0,0,0)", to="(conv2-east)", height=16, depth=16, width=3, caption="MaxPool2"),

    to_Conv("conv3", s_filer=31, n_filer=192, offset="(3,0,0)", to="(pool2-east)", height=16, depth=16, width=3, caption='CONV3'),
    to_connection("pool2", "conv3"),

    to_Conv("conv4", s_filer=15, n_filer=384, offset="(3,0,0)", to="(conv3-east)", height=16, depth=16, width=3,caption='CONV4'),
    to_connection("conv3", "conv4"),

    to_Conv("conv5", s_filer=15, n_filer=256, offset="(3,0,0)", to="(conv4-east)", height=16, depth=16, width=3,caption='CONV5'),
    to_connection("conv4", "conv5"),
    to_Pool("pool3", offset="(0,0,0)", to="(conv5-east)", height=8, depth=8, width=3, caption="MaxPool3"),

    to_Pool("pool4", offset="(3,0,0)", to="(pool3-east)", height=6, depth=6, width=3, caption="AdaptiveAvgPool"),
    to_connection("pool3", "pool4"),

    to_SoftMax(name='fc1', s_filer=4096, offset="(3,0,0)", to="(pool4-east)", width=1.5, height=1.5, depth=100,
               opacity=0.8, caption='FC1'),
    to_connection("pool4", "fc1"),

    to_SoftMax(name='fc2', s_filer=4096, offset="(2,0,0)", to="(fc1-east)", width=1.5, height=1.5, depth=50,
               opacity=0.8, caption='FC2'),
    to_connection("fc1", "fc2"),

    to_SoftMax(name='fc3', s_filer=5, offset="(2,0,0)", to="(fc2-east)", width=1.5, height=1.5, depth=5,
               opacity=0.8, caption='FC3'),
    to_connection("fc2", "fc3"),

    to_end()
]


def main():
    namefile = str(sys.argv[0]).split('.')[0]
    to_generate(arch, namefile + '.tex')

    # 使用 LaTeX 编译器将 .tex 文件转换为 .pdf 文件
    subprocess.call([r'D:\MiKTeX\install\miktex\bin\x64\pdflatex.exe', namefile + '.tex'])

    pdf_file = namefile + '.pdf'
    image_file = namefile + '.png'

    subprocess.call([r'D:\ghostscript\gs10.01.1\bin\gswin64c.exe', '-sDEVICE=pngalpha', '-o', image_file, '-r300', pdf_file])

    # 删除中间生成的文件
    cleanup(namefile)


def cleanup(namefile):
    # 删除中间生成的文件
    extensions = ['.aux', '.log', '.tex']
    for ext in extensions:
        filename = namefile + ext
        if os.path.exists(filename):
            os.remove(filename)


if __name__ == '__main__':
    main()

在这里插入图片描述

3.VGG16网络框架

import sys
import os
import subprocess
sys.path.append('../')
from pycore.tikzeng import *


# 定义神经网络架构
arch = [
    to_head('..'),
    to_cor(),
    to_begin(),
    to_input("1.jpeg", to='(-5,0,0)', width=6, height=6, name="temp"),
    to_input("2.jpeg", to='(-4,0,0)', width=6, height=6, name="temp"),
    to_input("3.jpeg", to='(-3,0,0)', width=6, height=6, name="temp"),
    to_input("4.jpeg", to='(-2,0,0)', width=6, height=6, name="temp"),
    to_input("5.jpeg", to='(-1,0,0)', width=6, height=6, name="temp"),

    # s_filer表示该层的图像大小 (需要自己计算),n_filer表示输入通道和输出通道大小 (自己设定)
    to_Conv("conv1", s_filer=256, n_filer=3, offset="(0,0,0)", to="(0,0,0)", height=50, depth=50, width=3, caption='CONV1'),
    to_Conv("conv2", s_filer=256, n_filer=64, offset="(0,0,0)", to="(conv1-east)", height=50, depth=50, width=3, caption=''),
    to_Pool("pool1", offset="(0,0,0)", to="(conv2-east)", height=30, depth=30, width=3, caption=""),

    to_Conv("conv3", s_filer=128, n_filer=64, offset="(3,0,0)", to="(pool1-east)", height=30, depth=30, width=3,caption='CONV2'),
    to_connection("pool1", "conv3"),
    to_Conv("conv4", s_filer=128, n_filer=128, offset="(0,0,0)", to="(conv3-east)", height=30, depth=30, width=3,caption=''),
    to_Pool("pool2", offset="(0,0,0)", to="(conv4-east)", height=18, depth=18, width=3, caption=""),

    to_Conv("conv5", s_filer=64, n_filer=128, offset="(3,0,0)", to="(pool2-east)", height=30, depth=30, width=3,caption=''),
    to_connection("pool2", "conv5"),
    to_Conv("conv6", s_filer=64, n_filer=256, offset="(0,0,0)", to="(conv5-east)", height=30, depth=30, width=3,caption='CONV3'),
    to_Conv("conv7", s_filer=64, n_filer=256, offset="(0,0,0)", to="(conv6-east)", height=30, depth=30, width=3,caption=''),
    to_Pool("pool3", offset="(0,0,0)", to="(conv7-east)", height=16, depth=16, width=3, caption=""),

    to_Conv("conv8", s_filer=32, n_filer=256, offset="(3,0,0)", to="(pool3-east)", height=16, depth=16, width=3,caption=''),
    to_connection("pool3", "conv8"),
    to_Conv("conv9", s_filer=32, n_filer=512, offset="(0,0,0)", to="(conv8-east)", height=16, depth=16, width=3,caption='CONV4'),
    to_Conv("conv10", s_filer=32, n_filer=512, offset="(0,0,0)", to="(conv9-east)", height=16, depth=16, width=3,caption=''),
    to_Pool("pool4", offset="(0,0,0)", to="(conv10-east)", height=8, depth=8, width=3, caption=""),

    to_Conv("conv11", s_filer=16, n_filer=512, offset="(3,0,0)", to="(pool4-east)", height=8, depth=8, width=3,caption=''),
    to_connection("pool4", "conv11"),
    to_Conv("conv12", s_filer=16, n_filer=512, offset="(0,0,0)", to="(conv11-east)", height=8, depth=8, width=3, caption='CONV5'),
    to_Conv("conv13", s_filer=16, n_filer=512, offset="(0,0,0)", to="(conv12-east)", height=8, depth=8, width=3, caption=''),
    to_Pool("pool5", offset="(0,0,0)", to="(conv13-east)", height=6, depth=6, width=3, caption=""),

    to_Pool("pool6", offset="(2,0,0)", to="(pool5-east)", height=6, depth=6, width=3, caption="AdaptiveAvgPool"),
    to_connection("pool5", "pool6"),

    to_SoftMax(name='fc1', s_filer=4096, offset="(4,0,0)", to="(pool6-east)", width=1.5, height=1.5, depth=100,
               opacity=0.8, caption='FC1'),
    to_connection("pool6", "fc1"),

    to_SoftMax(name='fc2', s_filer=4096, offset="(2,0,0)", to="(fc1-east)", width=1.5, height=1.5, depth=50,
               opacity=0.8, caption='FC2'),
    to_connection("fc1", "fc2"),

    to_SoftMax(name='fc3', s_filer=5, offset="(2,0,0)", to="(fc2-east)", width=1.5, height=1.5, depth=5,
               opacity=0.8, caption='FC3'),
    to_connection("fc2", "fc3"),

    to_end()
]


def main():
    namefile = str(sys.argv[0]).split('.')[0]
    to_generate(arch, namefile + '.tex')

    # 使用 LaTeX 编译器将 .tex 文件转换为 .pdf 文件
    subprocess.call([r'D:\MiKTeX\install\miktex\bin\x64\pdflatex.exe', namefile + '.tex'])

    pdf_file = namefile + '.pdf'
    image_file = namefile + '.png'

    subprocess.call([r'D:\ghostscript\gs10.01.1\bin\gswin64c.exe', '-sDEVICE=pngalpha', '-o', image_file, '-r300', pdf_file])

    # 删除中间生成的文件
    cleanup(namefile)


def cleanup(namefile):
    # 删除中间生成的文件
    extensions = ['.aux', '.log', '.tex']
    for ext in extensions:
        filename = namefile + ext
        if os.path.exists(filename):
            os.remove(filename)


if __name__ == '__main__':
    main()

在这里插入图片描述

4.ResNet网络框架

import sys
import os
import subprocess
sys.path.append('../')
from pycore.tikzeng import *


def main():
    namefile = str(sys.argv[0]).split('.')[0]  # 获取当前文件名

    # 使用 LaTeX 编译器将 .tex 文件转换为 .pdf 文件
    subprocess.call([r'D:\MiKTeX\install\miktex\bin\x64\pdflatex.exe', namefile + '.tex'])

    pdf_file = namefile + '.pdf'
    image_file = namefile + '.png'

    subprocess.call([r'D:\ghostscript\gs10.01.1\bin\gswin64c.exe', '-sDEVICE=pngalpha', '-o', image_file, '-r300', pdf_file])

    # 删除中间生成的文件
    cleanup(namefile)


def cleanup(namefile):
    # 删除中间生成的文件
    # extensions = ['.aux', '.log', '.tex']
    extensions = ['.aux', '.log']
    for ext in extensions:
        filename = namefile + ext
        if os.path.exists(filename):
            os.remove(filename)


if __name__ == '__main__':
    main()

在这里插入图片描述

5.DenseNet网络框架

import sys
import os
import subprocess
sys.path.append('../')
from pycore.tikzeng import *


def main():
    namefile = str(sys.argv[0]).split('.')[0]  # 获取当前文件名

    # 使用 LaTeX 编译器将 .tex 文件转换为 .pdf 文件
    subprocess.call([r'D:\MiKTeX\install\miktex\bin\x64\pdflatex.exe', namefile + '.tex'])

    pdf_file = namefile + '.pdf'
    image_file = namefile + '.png'

    subprocess.call([r'D:\ghostscript\gs10.01.1\bin\gswin64c.exe', '-sDEVICE=pngalpha', '-o', image_file, '-r300', pdf_file])

    # 删除中间生成的文件
    cleanup(namefile)


def cleanup(namefile):
    # 删除中间生成的文件
    # extensions = ['.aux', '.log', '.tex']
    extensions = ['.aux', '.log']
    for ext in extensions:
        filename = namefile + ext
        if os.path.exists(filename):
            os.remove(filename)


if __name__ == '__main__':
    main()

在这里插入图片描述
注意:ResNet和DenseNet中一些划线的操作,需要你在.tex文件中进行修改和定义,这需要自行去学习latex的一些操作。

%定位
\pic[shift={(0,-5,0)}] at (sum1-west) 
{
	Box={
		name=score1,%
		fill=\PoolColor,%
		opacity=0,height=0.01,width=0.01,depth=0.01
	}
};


% 划线
\path (conv2-east) -- (sum1-south) coordinate[pos=-0.5] (between4_5) ;
\draw [connection]  (between4_5)    -- node {\midarrow} (score1-west-|between4_5) -- node {\midarrow} (score1-west);
\draw [connection]  (score1-east) -- node {\midarrow} (score1-east -| sum1-south) -- node {\midarrow} (sum1-south);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用PlotNeuralNet绘制深度学习网络图的基本操作(二) 的相关文章

  • 如何查看Databricks中的所有数据库和表

    我想列出 Azure Databricks 中每个数据库中的所有表 所以我希望输出看起来像这样 Database Table name Database1 Table 1 Database1 Table 2 Database1 Table
  • 使用 psycopg2 在 python 中执行查询时出现“编程错误:语法错误位于或附近”

    我正在运行 Python v 2 7 和 psycopg2 v 2 5 我有一个 postgresql 数据库函数 它将 SQL 查询作为文本字段返回 我使用以下代码来调用该函数并从文本字段中提取查询 cur2 execute SELECT
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • 通过最小元素比较对 5 个元素进行排序

    我必须在 python 中使用元素之间的最小比较次数来建模对 5 个元素的列表进行排序的执行计划 除此之外 复杂性是无关紧要的 结果是一个对的列表 表示在另一时间对列表进行排序所需的比较 我知道有一种算法可以通过 7 次比较 总是在元素之间
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • 在f字符串中转义字符[重复]

    这个问题在这里已经有答案了 我遇到了以下问题f string gt gt gt a hello how to print hello gt gt gt f a a gt gt gt f a File
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 使用 Python 的 matplotlib 选择在屏幕上显示哪些图形以及将哪些图形保存到文件中

    我想用Python创建不同的图形matplotlib pyplot 然后 我想将其中一些保存到文件中 而另一些则应使用show 命令 然而 show 显示all创建的数字 我可以通过调用来避免这种情况close 创建我不想在屏幕上显示的绘图
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2

随机推荐

  • es统计所有数量的坑

    最近在统计线上的数量时 会发现始终都是10000 觉得很奇怪 先来说一下场景 我使用的是7 2版本的es 需要统计所有数量 后来发现数量下面有个relation gte的属性 然后在网上一搜 发现es 7 X在数据量很大时 数量都会是100
  • Linux Ubuntu安装RabbitMQ服务

    文章目录 前言 1 安装erlang 语言 2 安装rabbitMQ 3 内网穿透 3 1 安装cpolar内网穿透 支持一键自动安装脚本 3 2 创建HTTP隧道 4 公网远程连接 5 固定公网TCP地址 5 1 保留一个固定的公网TCP
  • burpsuit to run burp suite using java 17+

    根据报错提示 在命令行运行时后面加上这句代码 add opens java desktop javax swing ALL UNNAMED add opens java base java lang ALL UNNAMED 即 javaw
  • 数据结构第六章——图

    数据结构第六章 图 图的定义和术语 G V E V 顶点 数据元素的 有穷非空集合 E 边的有穷集合 无向图 每条边都是无方向的 有向图 每条边都是有方向的 完全图 任意两个顶点都有一条边两连 无向完全图 n个顶点 n n 1 2条边 有向
  • 【满分】【华为OD机试真题2023B卷 JAVA&JS】需要打开多少监控器

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 需要打开多少监控器 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 某长方形停车场 每个车位上方都有对应监控器 当且仅当在当前车位或者前后左右四个方向任意一个车位范围停
  • 【FreeRTOS 事件】任务通知事件

    普通任务通知事件创建创建及运行 参阅安富莱电子demo define BIT 0 1 lt lt 0 define BIT 1 1 lt lt 1 static TaskHandle t xHandleTaskUserIF NULL sta
  • Linux学习(三):删除命令rm的注意事项

    rm fir 文件或者目录 f 就是force的意思 忽略不存在的文件 不会出现警告信息 i 互动模式 在删除前会询问用户是否确定操作 r 递归删除 最常用的目录删除 这是非常危险的参数
  • vue_elementui_formatter的使用方法_elementui提取table表格使用formatter方法

    后台管理系统中用到了非常多的表格 一般为了方便都会讲表格进行提取 形成公共组件 提取表格时会遇到返回的json数据中要对单个字段进行处理 如时间戳转换 状态转换等 封装的表格组件代码
  • 解决Win10无法安装.Net Framework 3.5,错误代码0x800F081F

    重新安装了一遍Win10 但是不知怎的无法安装 net framework 3 5 即便是下载离线安装包也没法用 网上有人说需要使用win10的ISO文件 个人感觉太麻烦 在这里分享一个很方便的操作 首先 你需要下载cab版的 net3 5
  • caffe学习记录(三):多标签分类/回归训练(下)

    接上篇 我们已经为caffe添加了多标签分类训练功能 多标签分类的训练过程和单标签非常相似 同样包含以下几个步骤 一 准备多标签分类 回归训练的数据集 train txt val txt test txt 这里我们以MTCNN人脸检测网络中
  • 如何基于Llama 2搭建自己的大模型?4位技术大牛手把手教你

    Datawhale分享 大模型应用 机器之心 x Datawhale Meta 的 Llama 2 一开源便获得了 将改变大模型格局 的广泛认同 很大原因是因为它支持了商用 月活用户超过 7 亿需单独申请 这让大模型的竞争不再仅限于巨头之间
  • 网络安全:njRAT远控工具

    远控在渗透实战中的维权操作相当重要 今天为大家介绍一款工具 njrat 一 远控木马 远程控制型木马 远程控制可以对目标计算机进行交互性访问 实时或非实时 可以下发相应的指令触发恶意软件的功能 也能获取目标的各种数据 二 工具使用 1 在一
  • Mac的yarn安装教程,解决zsh: command not found: yarn

    curl o L https yarnpkg com install sh bash open zshrc 文件最后一行添加 export PATH HOME yarn bin HOME config yarn global node mo
  • Android Sqlite Failed to open database(无法打开数据库文件)

    在学习和使用Android SQLite操作的时候碰到一个错误 无法打开文件 10 11 15 00 44 374 E SQLiteDatabase 18129 Failed to open database data data com e
  • ZooKeeper 典型应用场景一览

    ZooKeeper 典型应用场景一览 数据发布与订阅 配置中心 发布与订阅模型 即所谓的配置中心 顾名思义就是发布者将数据发布到ZK节点上 供订阅者动态获取数据 实现配置信息的集中式管理和动态更新 例如全局的配置信息 服务式服务框架的服务地
  • rts5129无线驱动linux,ubuntu下adb工具的安装以及usb接口权限问题error: insufficient permissions for device: user in plugd...

    简述 adb Android Debug Bridge安卓调试桥接器 是Android sdk 安卓开发工具包 里的一个工具 使用该工具可以用CLI直接操作管理真机andriod设备或android模拟器 安装 直接使用apt命令安装and
  • jeecg问题解决方案

    1 jeecg数据库脚本问题 注意 jeecg3 5 2之前版本 不需要数据库脚本 程序会自动初始化数据库 从3 5 2 开始 需要手工执行SQL脚本 初始化数据库 2 Eclipse内存溢出 2014 6 27 15 29 21 org
  • python如何输出数组_python如何显示数组

    np set printoptions方法的相关属性 set printoptions precision None threshold None edgeitems None linewidth None suppress None na
  • 以太坊私有链搭建教程

    写在前面 写这个主要是为了记录下自己的学习过程 同时如果能帮助到同样想搭建私有链的朋友们 那是再好不过了 Step 1 环境搭建 私链搭建有三宝 环境 终端和钱包 我这里用到的是Geth客户端 所以环境当然就是指Go语言运行环境 Ether
  • 使用PlotNeuralNet绘制深度学习网络图的基本操作(二)

    使用PlotNeuralNet绘制深度学习网络图的基本操作 二 接下来我们利用pycharm来绘制当中我们的神经网络模型架构 目标是直接将 tex文件生成为pdf和png 我在学习的过程中参考了一些学习视频 觉得这个up主讲的还不错 1 P