news 2026/2/2 18:35:22

【C++/Qt shared_ptr 与 线程池】合作使用案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【C++/Qt shared_ptr 与 线程池】合作使用案例

以下是一个结合std::shared_ptr和 Qt 线程池(QThreadPool)的完整案例,展示了如何在多线程任务中安全管理资源,避免内存泄漏。


案例场景
  • 任务目标:在后台线程中处理一个耗时的图像检测任务,任务对象通过std::shared_ptr管理。
  • 关键需求
    • 确保任务对象在任务完成后自动释放。
    • 支持跨线程信号槽通信,传递处理结果。
    • 避免线程池与智能指针所有权冲突。

完整代码
1. 自定义任务类(继承自QRunnable

代码语言:javascript

AI代码解释

// MyTask.h #pragma once #include <QRunnable> #include <QObject> #include <memory> #include <QImage> class MyTask : public QObject, public QRunnable { Q_OBJECT public: MyTask(const QImage& inputImage); // 任务执行入口 void run() override; // 设置任务完成后回调(通过信号) void setResultCallback(std::function<void(const QImage&)> callback); signals: // 任务完成信号,传递处理后的图像 void taskFinished(const QImage& result); private: QImage m_inputImage; std::function<void(const QImage&)> m_callback; };

代码语言:javascript

AI代码解释

// MyTask.cpp #include "MyTask.h" #include <QDebug> MyTask::MyTask(const QImage& inputImage) : m_inputImage(inputImage) { // 禁用 QRunnable 的自动删除 setAutoDelete(false); } void MyTask::run() { qDebug() << "Task started in thread:" << QThread::currentThreadId(); // 模拟耗时操作(例如图像处理) QImage processedImage = m_inputImage.mirrored(true, false); // 发送完成信号(跨线程) emit taskFinished(processedImage); // 或者调用回调函数 if (m_callback) { m_callback(processedImage); } } void MyTask::setResultCallback(std::function<void(const QImage&)> callback) { m_callback = callback; }

2. 主窗口类(使用线程池和shared_ptr

代码语言:javascript

AI代码解释

// MainWindow.h #pragma once #include <QMainWindow> #include <QThreadPool> #include <memory> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: // 处理任务完成信号 void handleTaskFinished(const QImage& result); private: QThreadPool* m_threadPool; };

代码语言:javascript

AI代码解释

// MainWindow.cpp #include "MainWindow.h" #include "MyTask.h" #include <QPushButton> #include <QDebug> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_threadPool(new QThreadPool(this)) { // 设置线程池最大线程数 m_threadPool->setMaxThreadCount(4); // 创建一个测试按钮,点击后提交任务 QPushButton* btn = new QPushButton("Run Task", this); connect(btn, &QPushButton::clicked, [this]() { // 1. 创建任务对象并用 shared_ptr 管理 QImage inputImage(800, 600, QImage::Format_RGB32); inputImage.fill(Qt::green); std::shared_ptr<MyTask> task = std::make_shared<MyTask>(inputImage); // 2. 连接任务完成信号到主线程的槽 connect(task.get(), &MyTask::taskFinished, this, &MainWindow::handleTaskFinished, Qt::QueuedConnection); // 确保跨线程安全 // 3. 提交任务到线程池(传递原始指针,但所有权由 shared_ptr 控制) m_threadPool->start(task.get()); // 4. 使用 Lambda 捕获 shared_ptr,确保任务完成后释放资源 task->setResultCallback([task](const QImage& result) { qDebug() << "Task callback executed. Ref count:" << task.use_count(); }); }); } void MainWindow::handleTaskFinished(const QImage& result) { qDebug() << "Task finished. Result size:" << result.size(); } MainWindow::~MainWindow() { // 等待所有任务完成 m_threadPool->waitForDone(); }

3. 主函数

代码语言:javascript

AI代码解释

// main.cpp #include "MainWindow.h" #include <QApplication> int main(int argc char *argv[]) { QApplication a(argc, argv); // 注册自定义类型(若需要传递复杂类型) // qRegisterMetaType<MyData>("MyData"); MainWindow w; w.show(); return a.exec(); }

关键机制解释

禁用自动删除

代码语言:javascript

AI代码解释

setAutoDelete(false); // 在 MyTask 构造函数中
  • 阻止QThreadPool自动删除任务对象,避免与shared_ptr冲突。

通过shared_ptr管理生命周期

代码语言:javascript

AI代码解释

std::shared_ptr<MyTask> task = std::make_shared<MyTask>(inputImage);
  • shared_ptr确保任务对象在最后一个引用消失时自动释放。

信号槽跨线程通信

代码语言:javascript

AI代码解释

connect(task.get(), &MyTask::taskFinished, this, &MainWindow::handleTaskFinished, Qt::QueuedConnection);
  • 使用Qt::QueuedConnection确保信号跨线程安全传递。

Lambda 捕获shared_ptr

代码语言:javascript

AI代码解释

task->setResultCallback([task](const QImage& result) { qDebug() << "Ref count:" << task.use_count(); });
  • Lambda 表达式捕获task会递增引用计数,确保任务执行期间对象存活。

运行流程
  1. 用户点击按钮,创建任务并用shared_ptr管理。
  2. 任务被提交到线程池,线程池调用run()执行耗时操作。
  3. 任务完成后,发送taskFinished信号或调用回调。
  4. 主线程接收结果并处理。
  5. 当所有引用(shared_ptr)释放后,任务对象自动销毁。

注意事项
  1. 线程安全设计
    • 如果任务内部访问共享数据,需使用QMutexQReadWriteLock保护。
  2. 避免循环引用
    • 如果任务对象持有指向主窗口的指针,需使用原始指针或weak_ptr,避免shared_ptr循环引用导致内存泄漏。
  3. 性能优化
    • 如果频繁创建任务,可复用任务对象或使用对象池减少内存分配开销。

m.jjjrx.pro/Blog/115379.shtm
m.jjjrx.pro/Blog/539533.shtm
m.jjjrx.pro/Blog/135135.shtm
m.jjjrx.pro/Blog/531378.shtm
m.jjjrx.pro/Blog/155137.shtm
m.jjjrx.pro/Blog/551119.shtm
m.jjjrx.pro/Blog/915339.shtm
m.jjjrx.pro/Blog/119773.shtm
m.jjjrx.pro/Blog/155713.shtm
m.jjjrx.pro/Blog/731315.shtm
m.jjjrx.pro/Blog/397593.shtm
m.jjjrx.pro/Blog/173335.shtm
m.jjjrx.pro/Blog/571111.shtm
m.jjjrx.pro/Blog/939359.shtm
m.jjjrx.pro/Blog/935993.shtm
m.jjjrx.pro/Blog/717779.shtm
m.jjjrx.pro/Blog/735315.shtm
m.jjjrx.pro/Blog/177339.shtm
m.jjjrx.pro/Blog/735375.shtm
m.jjjrx.pro/Blog/717399.shtm
m.jjjrx.pro/Blog/119335.shtm
m.jjjrx.pro/Blog/939797.shtm
m.jjjrx.pro/Blog/337535.shtm
m.jjjrx.pro/Blog/715319.shtm
m.jjjrx.pro/Blog/973739.shtm
m.jjjrx.pro/Blog/713115.shtm
m.jjjrx.pro/Blog/557717.shtm
m.jjjrx.pro/Blog/175957.shtm
m.jjjrx.pro/Blog/737137.shtm
m.jjjrx.pro/Blog/971977.shtm
m.jjjrx.pro/Blog/137391.shtm
m.jjjrx.pro/Blog/791115.shtm
m.jjjrx.pro/Blog/739795.shtm
m.jjjrx.pro/Blog/999711.shtm
m.jjjrx.pro/Blog/197137.shtm
m.jjjrx.pro/Blog/353391.shtm
m.jjjrx.pro/Blog/133975.shtm
m.jjjrx.pro/Blog/913977.shtm
m.jjjrx.pro/Blog/357935.shtm
m.jjjrx.pro/Blog/191977.shtm
m.jjjrx.pro/Blog/135551.shtm
m.jjjrx.pro/Blog/991579.shtm
m.jjjrx.pro/Blog/333755.shtm
m.jjjrx.pro/Blog/919119.shtm
m.jjjrx.pro/Blog/153339.shtm
m.jjjrx.pro/Blog/913119.shtm
m.jjjrx.pro/Blog/715335.shtm
m.jjjrx.pro/Blog/315959.shtm
m.jjjrx.pro/Blog/573931.shtm
m.jjjrx.pro/Blog/131979.shtm
m.jjjrx.pro/Blog/919115.shtm
m.jjjrx.pro/Blog/573317.shtm
m.jjjrx.pro/Blog/599995.shtm
m.jjjrx.pro/Blog/975777.shtm
m.jjjrx.pro/Blog/973137.shtm
m.jjjrx.pro/Blog/957379.shtm
m.jjjrx.pro/Blog/799311.shtm
m.jjjrx.pro/Blog/133733.shtm
m.jjjrx.pro/Blog/755757.shtm
m.jjjrx.pro/Blog/577513.shtm
m.jjjrx.pro/Blog/531155.shtm
m.jjjrx.pro/Blog/175191.shtm
m.jjjrx.pro/Blog/973313.shtm
m.jjjrx.pro/Blog/557591.shtm
m.jjjrx.pro/Blog/155913.shtm
m.jjjrx.pro/Blog/739737.shtm
m.jjjrx.pro/Blog/997135.shtm
m.jjjrx.pro/Blog/715733.shtm
m.jjjrx.pro/Blog/759351.shtm
m.jjjrx.pro/Blog/351513.shtm
m.jjjrx.pro/Blog/355977.shtm
m.jjjrx.pro/Blog/959155.shtm
m.jjjrx.pro/Blog/371315.shtm
m.jjjrx.pro/Blog/757155.shtm
m.jjjrx.pro/Blog/193355.shtm
m.jjjrx.pro/Blog/759553.shtm
m.jjjrx.pro/Blog/155573.shtm
m.jjjrx.pro/Blog/933391.shtm
m.jjjrx.pro/Blog/579737.shtm
m.jjjrx.pro/Blog/597733.shtm
m.jjjrx.pro/Blog/195953.shtm
m.jjjrx.pro/Blog/555119.shtm
m.jjjrx.pro/Blog/579755.shtm
m.jjjrx.pro/Blog/919335.shtm
m.jjjrx.pro/Blog/915555.shtm
m.jjjrx.pro/Blog/935515.shtm
m.jjjrx.pro/Blog/797795.shtm
m.jjjrx.pro/Blog/135711.shtm
m.jjjrx.pro/Blog/797971.shtm
m.jjjrx.pro/Blog/333395.shtm
m.jjjrx.pro/Blog/731555.shtm
m.jjjrx.pro/Blog/771197.shtm
m.jjjrx.pro/Blog/951737.shtm
m.jjjrx.pro/Blog/919337.shtm
m.jjjrx.pro/Blog/977519.shtm
m.jjjrx.pro/Blog/553597.shtm
m.jjjrx.pro/Blog/115993.shtm
m.jjjrx.pro/Blog/755717.shtm
m.jjjrx.pro/Blog/137957.shtm
m.jjjrx.pro/Blog/319119.shtm
m.jjjrx.pro/Blog/959795.shtm
m.jjjrx.pro/Blog/935337.shtm
m.jjjrx.pro/Blog/557517.shtm
m.jjjrx.pro/Blog/999159.shtm
m.jjjrx.pro/Blog/773711.shtm
m.jjjrx.pro/Blog/373975.shtm
m.jjjrx.pro/Blog/953359.shtm
m.jjjrx.pro/Blog/137371.shtm
m.jjjrx.pro/Blog/737155.shtm
m.jjjrx.pro/Blog/313535.shtm
m.jjjrx.pro/Blog/115373.shtm
m.jjjrx.pro/Blog/719199.shtm
m.jjjrx.pro/Blog/131557.shtm
m.jjjrx.pro/Blog/335115.shtm
m.jjjrx.pro/Blog/393195.shtm
m.jjjrx.pro/Blog/139791.shtm
m.jjjrx.pro/Blog/751977.shtm
m.jjjrx.pro/Blog/975753.shtm
m.jjjrx.pro/Blog/131171.shtm
m.jjjrx.pro/Blog/937755.shtm
m.jjjrx.pro/Blog/377151.shtm
m.jjjrx.pro/Blog/779379.shtm
m.jjjrx.pro/Blog/197373.shtm
m.jjjrx.pro/Blog/915353.shtm
m.jjjrx.pro/Blog/999517.shtm
m.jjjrx.pro/Blog/955913.shtm
m.jjjrx.pro/Blog/555793.shtm
m.jjjrx.pro/Blog/991991.shtm
m.jjjrx.pro/Blog/351373.shtm
m.jjjrx.pro/Blog/759153.shtm
m.jjjrx.pro/Blog/137595.shtm
m.jjjrx.pro/Blog/199177.shtm
m.jjjrx.pro/Blog/779739.shtm
m.jjjrx.pro/Blog/111151.shtm
m.jjjrx.pro/Blog/153137.shtm
m.jjjrx.pro/Blog/397173.shtm
m.jjjrx.pro/Blog/515317.shtm
m.jjjrx.pro/Blog/777759.shtm
m.jjjrx.pro/Blog/197739.shtm
m.jjjrx.pro/Blog/599711.shtm
m.jjjrx.pro/Blog/593353.shtm
m.jjjrx.pro/Blog/179377.shtm
m.jjjrx.pro/Blog/115511.shtm
m.jjjrx.pro/Blog/737977.shtm
m.jjjrx.pro/Blog/737719.shtm
m.jjjrx.pro/Blog/777395.shtm
m.jjjrx.pro/Blog/915197.shtm
m.jjjrx.pro/Blog/771515.shtm
m.jjjrx.pro/Blog/591337.shtm
m.jjjrx.pro/Blog/599711.shtm
m.jjjrx.pro/Blog/177193.shtm
m.jjjrx.pro/Blog/357333.shtm
m.jjjrx.pro/Blog/959959.shtm
m.jjjrx.pro/Blog/191391.shtm
m.jjjrx.pro/Blog/119993.shtm
m.jjjrx.pro/Blog/177975.shtm
m.jjjrx.pro/Blog/751119.shtm
m.jjjrx.pro/Blog/979759.shtm
m.jjjrx.pro/Blog/515193.shtm
m.jjjrx.pro/Blog/377535.shtm
m.jjjrx.pro/Blog/379993.shtm
m.jjjrx.pro/Blog/379719.shtm
m.jjjrx.pro/Blog/917577.shtm
m.jjjrx.pro/Blog/597937.shtm
m.jjjrx.pro/Blog/515571.shtm
m.jjjrx.pro/Blog/559137.shtm
m.jjjrx.pro/Blog/313751.shtm
m.jjjrx.pro/Blog/571773.shtm
m.jjjrx.pro/Blog/791151.shtm
m.jjjrx.pro/Blog/993959.shtm
m.jjjrx.pro/Blog/591513.shtm
m.jjjrx.pro/Blog/171519.shtm
m.jjjrx.pro/Blog/795399.shtm
m.jjjrx.pro/Blog/599937.shtm
m.jjjrx.pro/Blog/533993.shtm
m.jjjrx.pro/Blog/711957.shtm
m.jjjrx.pro/Blog/779335.shtm
m.jjjrx.pro/Blog/175157.shtm
m.jjjrx.pro/Blog/373559.shtm
m.jjjrx.pro/Blog/131917.shtm
m.jjjrx.pro/Blog/751779.shtm
m.jjjrx.pro/Blog/735133.shtm
m.jjjrx.pro/Blog/735799.shtm
m.jjjrx.pro/Blog/397113.shtm
m.jjjrx.pro/Blog/959115.shtm
m.jjjrx.pro/Blog/953155.shtm
m.jjjrx.pro/Blog/793391.shtm
m.jjjrx.pro/Blog/937119.shtm
m.jjjrx.pro/Blog/573937.shtm
m.jjjrx.pro/Blog/175753.shtm
m.jjjrx.pro/Blog/913595.shtm
m.jjjrx.pro/Blog/795977.shtm
m.jjjrx.pro/Blog/135375.shtm
m.jjjrx.pro/Blog/779179.shtm
m.jjjrx.pro/Blog/557117.shtm
m.jjjrx.pro/Blog/939751.shtm
m.jjjrx.pro/Blog/351713.shtm
m.jjjrx.pro/Blog/975937.shtm
m.jjjrx.pro/Blog/791179.shtm
m.jjjrx.pro/Blog/399175.shtm
m.jjjrx.pro/Blog/991191.shtm
m.jjjrx.pro/Blog/737913.shtm
m.jjjrx.pro/Blog/117759.shtm
m.jjjrx.pro/Blog/139119.shtm
m.jjjrx.pro/Blog/793791.shtm
m.jjjrx.pro/Blog/959799.shtm
m.jjjrx.pro/Blog/533153.shtm
m.jjjrx.pro/Blog/957751.shtm
m.jjjrx.pro/Blog/959773.shtm
m.jjjrx.pro/Blog/597759.shtm
m.jjjrx.pro/Blog/375971.shtm
m.jjjrx.pro/Blog/759575.shtm
m.jjjrx.pro/Blog/119537.shtm
m.jjjrx.pro/Blog/339751.shtm
m.jjjrx.pro/Blog/537159.shtm
m.jjjrx.pro/Blog/737511.shtm
m.jjjrx.pro/Blog/199133.shtm
m.jjjrx.pro/Blog/751375.shtm
m.jjjrx.pro/Blog/915359.shtm
m.jjjrx.pro/Blog/955979.shtm
m.jjjrx.pro/Blog/159191.shtm
m.jjjrx.pro/Blog/397337.shtm
m.jjjrx.pro/Blog/153939.shtm
m.jjjrx.pro/Blog/531971.shtm
m.jjjrx.pro/Blog/797735.shtm
m.jjjrx.pro/Blog/999357.shtm
m.jjjrx.pro/Blog/599951.shtm
m.jjjrx.pro/Blog/779117.shtm
m.jjjrx.pro/Blog/337975.shtm
m.jjjrx.pro/Blog/135351.shtm
m.jjjrx.pro/Blog/975399.shtm
m.jjjrx.pro/Blog/357373.shtm
m.jjjrx.pro/Blog/957999.shtm
m.jjjrx.pro/Blog/155175.shtm
m.jjjrx.pro/Blog/399959.shtm
m.jjjrx.pro/Blog/993979.shtm
m.jjjrx.pro/Blog/719771.shtm
m.jjjrx.pro/Blog/715711.shtm
m.jjjrx.pro/Blog/193957.shtm
m.jjjrx.pro/Blog/533737.shtm
m.jjjrx.pro/Blog/555597.shtm
m.jjjrx.pro/Blog/597573.shtm
m.jjjrx.pro/Blog/379913.shtm
m.jjjrx.pro/Blog/351935.shtm
m.jjjrx.pro/Blog/711975.shtm
m.jjjrx.pro/Blog/319711.shtm
m.jjjrx.pro/Blog/593337.shtm
m.jjjrx.pro/Blog/595599.shtm
m.jjjrx.pro/Blog/335539.shtm
m.jjjrx.pro/Blog/571199.shtm
m.jjjrx.pro/Blog/117159.shtm
m.jjjrx.pro/Blog/151953.shtm
m.jjjrx.pro/Blog/719311.shtm
m.jjjrx.pro/Blog/759539.shtm
m.jjjrx.pro/Blog/599197.shtm
m.jjjrx.pro/Blog/199177.shtm
m.jjjrx.pro/Blog/553115.shtm
m.jjjrx.pro/Blog/171355.shtm
m.jjjrx.pro/Blog/555911.shtm
m.jjjrx.pro/Blog/953755.shtm
m.jjjrx.pro/Blog/357575.shtm
m.jjjrx.pro/Blog/715573.shtm
m.jjjrx.pro/Blog/115191.shtm
m.jjjrx.pro/Blog/771379.shtm
m.jjjrx.pro/Blog/755139.shtm
m.jjjrx.pro/Blog/353197.shtm
m.jjjrx.pro/Blog/957155.shtm
m.jjjrx.pro/Blog/591779.shtm
m.jjjrx.pro/Blog/391359.shtm
m.jjjrx.pro/Blog/991939.shtm
m.jjjrx.pro/Blog/773913.shtm
m.jjjrx.pro/Blog/357333.shtm
m.jjjrx.pro/Blog/151795.shtm
m.jjjrx.pro/Blog/999117.shtm
m.jjjrx.pro/Blog/339955.shtm
m.jjjrx.pro/Blog/591377.shtm
m.jjjrx.pro/Blog/395991.shtm
m.jjjrx.pro/Blog/911711.shtm
m.jjjrx.pro/Blog/915353.shtm
m.jjjrx.pro/Blog/975393.shtm
m.jjjrx.pro/Blog/935715.shtm
m.jjjrx.pro/Blog/731513.shtm
m.jjjrx.pro/Blog/737931.shtm
m.jjjrx.pro/Blog/533191.shtm
m.jjjrx.pro/Blog/339553.shtm
m.jjjrx.pro/Blog/953157.shtm
m.jjjrx.pro/Blog/191795.shtm
m.jjjrx.pro/Blog/777355.shtm
m.jjjrx.pro/Blog/579515.shtm
m.jjjrx.pro/Blog/339733.shtm
m.jjjrx.pro/Blog/139115.shtm
m.jjjrx.pro/Blog/531731.shtm
m.jjjrx.pro/Blog/597175.shtm
m.jjjrx.pro/Blog/177551.shtm
m.jjjrx.pro/Blog/153975.shtm
m.jjjrx.pro/Blog/719371.shtm
m.jjjrx.pro/Blog/957793.shtm
m.jjjrx.pro/Blog/115731.shtm
m.jjjrx.pro/Blog/737793.shtm
m.jjjrx.pro/Blog/115775.shtm
m.jjjrx.pro/Blog/713315.shtm
m.jjjrx.pro/Blog/115559.shtm
m.jjjrx.pro/Blog/799553.shtm
m.jjjrx.pro/Blog/939117.shtm
m.jjjrx.pro/Blog/197591.shtm
m.jjjrx.pro/Blog/757757.shtm
m.jjjrx.pro/Blog/377557.shtm
m.jjjrx.pro/Blog/797171.shtm
m.jjjrx.pro/Blog/575975.shtm
m.jjjrx.pro/Blog/153517.shtm
m.jjjrx.pro/Blog/533157.shtm
m.jjjrx.pro/Blog/775737.shtm
m.jjjrx.pro/Blog/599593.shtm
m.jjjrx.pro/Blog/355175.shtm
m.jjjrx.pro/Blog/955175.shtm
m.jjjrx.pro/Blog/915193.shtm
m.jjjrx.pro/Blog/559315.shtm
m.jjjrx.pro/Blog/973311.shtm
m.jjjrx.pro/Blog/177993.shtm
m.jjjrx.pro/Blog/353313.shtm
m.jjjrx.pro/Blog/117759.shtm
m.jjjrx.pro/Blog/153791.shtm
m.jjjrx.pro/Blog/535955.shtm
m.jjjrx.pro/Blog/377339.shtm
m.jjjrx.pro/Blog/993315.shtm
m.jjjrx.pro/Blog/715551.shtm
m.jjjrx.pro/Blog/315117.shtm
m.jjjrx.pro/Blog/911597.shtm
m.jjjrx.pro/Blog/775713.shtm
m.jjjrx.pro/Blog/977955.shtm
m.jjjrx.pro/Blog/377191.shtm
m.jjjrx.pro/Blog/311311.shtm
m.jjjrx.pro/Blog/559119.shtm
m.jjjrx.pro/Blog/597933.shtm
m.jjjrx.pro/Blog/173753.shtm
m.jjjrx.pro/Blog/115113.shtm
m.jjjrx.pro/Blog/339331.shtm
m.jjjrx.pro/Blog/791591.shtm
m.jjjrx.pro/Blog/399973.shtm
m.jjjrx.pro/Blog/357151.shtm
m.jjjrx.pro/Blog/315933.shtm
m.jjjrx.pro/Blog/313597.shtm
m.jjjrx.pro/Blog/975599.shtm
m.jjjrx.pro/Blog/737351.shtm
m.jjjrx.pro/Blog/135533.shtm
m.jjjrx.pro/Blog/339971.shtm
m.jjjrx.pro/Blog/117331.shtm
m.jjjrx.pro/Blog/777737.shtm
m.jjjrx.pro/Blog/335935.shtm
m.jjjrx.pro/Blog/173377.shtm
m.jjjrx.pro/Blog/773977.shtm
m.jjjrx.pro/Blog/151115.shtm
m.jjjrx.pro/Blog/331977.shtm
m.jjjrx.pro/Blog/713593.shtm
m.jjjrx.pro/Blog/599557.shtm
m.jjjrx.pro/Blog/771933.shtm
m.jjjrx.pro/Blog/997553.shtm
m.jjjrx.pro/Blog/117599.shtm
m.jjjrx.pro/Blog/193913.shtm
m.jjjrx.pro/Blog/735713.shtm
m.jjjrx.pro/Blog/311995.shtm
m.jjjrx.pro/Blog/937195.shtm
m.jjjrx.pro/Blog/753551.shtm
m.jjjrx.pro/Blog/911311.shtm
m.jjjrx.pro/Blog/793953.shtm
m.jjjrx.pro/Blog/191517.shtm
m.jjjrx.pro/Blog/935951.shtm
m.jjjrx.pro/Blog/197597.shtm
m.jjjrx.pro/Blog/951397.shtm
m.jjjrx.pro/Blog/759575.shtm
m.jjjrx.pro/Blog/397719.shtm
m.jjjrx.pro/Blog/191599.shtm
m.jjjrx.pro/Blog/115979.shtm
m.jjjrx.pro/Blog/515135.shtm
m.jjjrx.pro/Blog/713195.shtm
m.jjjrx.pro/Blog/175993.shtm
m.jjjrx.pro/Blog/371999.shtm
m.jjjrx.pro/Blog/393775.shtm
m.jjjrx.pro/Blog/771731.shtm
m.jjjrx.pro/Blog/591377.shtm
m.jjjrx.pro/Blog/739795.shtm
m.jjjrx.pro/Blog/355751.shtm
m.jjjrx.pro/Blog/173999.shtm
m.jjjrx.pro/Blog/713715.shtm
m.jjjrx.pro/Blog/553197.shtm
m.jjjrx.pro/Blog/595593.shtm
m.jjjrx.pro/Blog/517977.shtm
m.jjjrx.pro/Blog/755935.shtm
m.jjjrx.pro/Blog/175393.shtm
m.jjjrx.pro/Blog/319179.shtm
m.lj9lj.pro/Blog/339573.shtm
m.lj9lj.pro/Blog/937597.shtm
m.lj9lj.pro/Blog/159737.shtm
m.lj9lj.pro/Blog/377133.shtm
m.lj9lj.pro/Blog/751957.shtm
m.lj9lj.pro/Blog/131551.shtm
m.lj9lj.pro/Blog/573373.shtm
m.lj9lj.pro/Blog/377915.shtm
m.lj9lj.pro/Blog/155713.shtm
m.lj9lj.pro/Blog/517535.shtm
m.lj9lj.pro/Blog/513711.shtm
m.lj9lj.pro/Blog/993377.shtm
m.lj9lj.pro/Blog/731715.shtm
m.lj9lj.pro/Blog/797579.shtm
m.lj9lj.pro/Blog/311713.shtm
m.lj9lj.pro/Blog/319951.shtm
m.lj9lj.pro/Blog/731991.shtm
m.lj9lj.pro/Blog/139139.shtm
m.lj9lj.pro/Blog/359315.shtm
m.lj9lj.pro/Blog/395137.shtm
m.lj9lj.pro/Blog/533737.shtm
m.lj9lj.pro/Blog/551557.shtm
m.lj9lj.pro/Blog/177919.shtm
m.lj9lj.pro/Blog/319373.shtm
m.lj9lj.pro/Blog/513173.shtm
m.lj9lj.pro/Blog/733513.shtm
m.lj9lj.pro/Blog/171977.shtm
m.lj9lj.pro/Blog/193133.shtm
m.lj9lj.pro/Blog/539111.shtm
m.lj9lj.pro/Blog/559379.shtm
m.lj9lj.pro/Blog/517371.shtm
m.lj9lj.pro/Blog/911353.shtm
m.lj9lj.pro/Blog/739537.shtm
m.lj9lj.pro/Blog/715955.shtm
m.lj9lj.pro/Blog/535533.shtm
m.lj9lj.pro/Blog/311151.shtm
m.lj9lj.pro/Blog/331531.shtm
m.lj9lj.pro/Blog/155551.shtm
m.lj9lj.pro/Blog/957955.shtm
m.lj9lj.pro/Blog/511179.shtm
m.lj9lj.pro/Blog/919735.shtm
m.lj9lj.pro/Blog/791551.shtm
m.lj9lj.pro/Blog/551751.shtm
m.lj9lj.pro/Blog/991537.shtm
m.lj9lj.pro/Blog/733173.shtm
m.lj9lj.pro/Blog/775953.shtm
m.lj9lj.pro/Blog/993371.shtm
m.lj9lj.pro/Blog/135113.shtm
m.lj9lj.pro/Blog/131915.shtm
m.lj9lj.pro/Blog/719515.shtm
m.lj9lj.pro/Blog/917177.shtm
m.lj9lj.pro/Blog/975515.shtm
m.lj9lj.pro/Blog/199717.shtm
m.lj9lj.pro/Blog/913753.shtm
m.lj9lj.pro/Blog/133755.shtm
m.lj9lj.pro/Blog/537371.shtm
m.lj9lj.pro/Blog/515577.shtm
m.lj9lj.pro/Blog/593131.shtm
m.lj9lj.pro/Blog/177755.shtm
m.lj9lj.pro/Blog/593713.shtm
m.lj9lj.pro/Blog/711155.shtm
m.lj9lj.pro/Blog/379359.shtm
m.lj9lj.pro/Blog/771331.shtm
m.lj9lj.pro/Blog/573939.shtm
m.lj9lj.pro/Blog/117111.shtm
m.lj9lj.pro/Blog/797597.shtm
m.lj9lj.pro/Blog/959311.shtm
m.lj9lj.pro/Blog/193797.shtm
m.lj9lj.pro/Blog/511933.shtm
m.lj9lj.pro/Blog/959951.shtm
m.lj9lj.pro/Blog/179333.shtm
m.lj9lj.pro/Blog/779393.shtm
m.lj9lj.pro/Blog/595531.shtm
m.lj9lj.pro/Blog/757775.shtm
m.lj9lj.pro/Blog/991373.shtm
m.lj9lj.pro/Blog/313555.shtm
m.lj9lj.pro/Blog/513937.shtm
m.lj9lj.pro/Blog/739971.shtm
m.lj9lj.pro/Blog/915513.shtm
m.lj9lj.pro/Blog/535177.shtm
m.lj9lj.pro/Blog/333977.shtm
m.lj9lj.pro/Blog/179955.shtm
m.lj9lj.pro/Blog/115379.shtm
m.lj9lj.pro/Blog/977317.shtm
m.lj9lj.pro/Blog/953113.shtm
m.lj9lj.pro/Blog/513951.shtm
m.lj9lj.pro/Blog/971935.shtm
m.lj9lj.pro/Blog/151599.shtm
m.lj9lj.pro/Blog/515137.shtm
m.lj9lj.pro/Blog/595759.shtm
m.lj9lj.pro/Blog/135391.shtm
m.lj9lj.pro/Blog/577771.shtm
m.lj9lj.pro/Blog/351919.shtm
m.lj9lj.pro/Blog/799957.shtm
m.lj9lj.pro/Blog/119919.shtm
m.lj9lj.pro/Blog/111377.shtm
m.lj9lj.pro/Blog/799151.shtm
m.lj9lj.pro/Blog/115139.shtm
m.lj9lj.pro/Blog/331313.shtm
m.lj9lj.pro/Blog/571355.shtm
m.lj9lj.pro/Blog/993333.shtm
m.lj9lj.pro/Blog/551931.shtm
m.lj9lj.pro/Blog/713917.shtm
m.lj9lj.pro/Blog/599719.shtm
m.lj9lj.pro/Blog/119173.shtm
m.lj9lj.pro/Blog/111511.shtm
m.lj9lj.pro/Blog/199139.shtm
m.lj9lj.pro/Blog/517537.shtm
m.lj9lj.pro/Blog/179737.shtm
m.lj9lj.pro/Blog/391117.shtm
m.lj9lj.pro/Blog/755599.shtm
m.lj9lj.pro/Blog/971931.shtm
m.lj9lj.pro/Blog/535599.shtm
m.lj9lj.pro/Blog/159535.shtm
m.lj9lj.pro/Blog/351557.shtm
m.lj9lj.pro/Blog/779779.shtm
m.lj9lj.pro/Blog/555155.shtm
m.lj9lj.pro/Blog/199157.shtm
m.lj9lj.pro/Blog/133379.shtm
m.lj9lj.pro/Blog/793579.shtm
m.lj9lj.pro/Blog/593519.shtm
m.lj9lj.pro/Blog/911759.shtm
m.lj9lj.pro/Blog/557159.shtm
m.lj9lj.pro/Blog/313155.shtm
m.lj9lj.pro/Blog/791753.shtm
m.lj9lj.pro/Blog/955957.shtm
m.lj9lj.pro/Blog/357717.shtm
m.lj9lj.pro/Blog/571715.shtm
m.lj9lj.pro/Blog/111375.shtm
m.lj9lj.pro/Blog/577371.shtm
m.lj9lj.pro/Blog/533591.shtm
m.lj9lj.pro/Blog/557155.shtm
m.lj9lj.pro/Blog/951591.shtm
m.lj9lj.pro/Blog/771753.shtm
m.lj9lj.pro/Blog/931957.shtm
m.lj9lj.pro/Blog/993371.shtm
m.lj9lj.pro/Blog/733519.shtm
m.lj9lj.pro/Blog/339319.shtm
m.lj9lj.pro/Blog/939319.shtm
m.lj9lj.pro/Blog/119513.shtm
m.lj9lj.pro/Blog/155795.shtm
m.lj9lj.pro/Blog/953319.shtm
m.lj9lj.pro/Blog/157179.shtm
m.lj9lj.pro/Blog/913337.shtm
m.lj9lj.pro/Blog/395173.shtm
m.lj9lj.pro/Blog/737979.shtm
m.lj9lj.pro/Blog/115153.shtm
m.lj9lj.pro/Blog/571999.shtm
m.lj9lj.pro/Blog/155315.shtm
m.lj9lj.pro/Blog/133173.shtm
m.lj9lj.pro/Blog/335959.shtm
m.lj9lj.pro/Blog/333995.shtm
m.lj9lj.pro/Blog/159911.shtm
m.lj9lj.pro/Blog/999711.shtm
m.lj9lj.pro/Blog/351399.shtm
m.lj9lj.pro/Blog/971971.shtm
m.lj9lj.pro/Blog/777773.shtm
m.lj9lj.pro/Blog/371393.shtm
m.lj9lj.pro/Blog/113559.shtm
m.lj9lj.pro/Blog/597377.shtm
m.lj9lj.pro/Blog/337593.shtm
m.lj9lj.pro/Blog/715513.shtm
m.lj9lj.pro/Blog/397939.shtm
m.lj9lj.pro/Blog/355737.shtm
m.lj9lj.pro/Blog/995917.shtm
m.lj9lj.pro/Blog/371797.shtm
m.lj9lj.pro/Blog/595711.shtm
m.lj9lj.pro/Blog/177733.shtm
m.lj9lj.pro/Blog/313151.shtm
m.lj9lj.pro/Blog/171399.shtm
m.lj9lj.pro/Blog/335131.shtm
m.lj9lj.pro/Blog/791931.shtm
m.lj9lj.pro/Blog/937775.shtm
m.lj9lj.pro/Blog/175319.shtm
m.lj9lj.pro/Blog/399115.shtm
m.lj9lj.pro/Blog/931311.shtm
m.lj9lj.pro/Blog/395115.shtm
m.lj9lj.pro/Blog/977359.shtm
m.lj9lj.pro/Blog/957397.shtm
m.lj9lj.pro/Blog/995335.shtm
m.lj9lj.pro/Blog/517399.shtm
m.lj9lj.pro/Blog/113771.shtm
m.lj9lj.pro/Blog/153773.shtm
m.lj9lj.pro/Blog/731197.shtm
m.lj9lj.pro/Blog/971553.shtm
m.lj9lj.pro/Blog/395175.shtm
m.lj9lj.pro/Blog/195171.shtm
m.lj9lj.pro/Blog/395953.shtm
m.lj9lj.pro/Blog/399595.shtm
m.lj9lj.pro/Blog/797991.shtm
m.lj9lj.pro/Blog/957955.shtm
m.lj9lj.pro/Blog/311557.shtm
m.lj9lj.pro/Blog/131331.shtm
m.lj9lj.pro/Blog/199959.shtm
m.lj9lj.pro/Blog/991551.shtm
m.lj9lj.pro/Blog/379195.shtm
m.lj9lj.pro/Blog/913135.shtm
m.lj9lj.pro/Blog/735515.shtm
m.lj9lj.pro/Blog/935559.shtm
m.lj9lj.pro/Blog/377977.shtm
m.lj9lj.pro/Blog/553359.shtm
m.lj9lj.pro/Blog/317151.shtm
m.lj9lj.pro/Blog/935379.shtm
m.lj9lj.pro/Blog/335717.shtm
m.lj9lj.pro/Blog/377937.shtm
m.lj9lj.pro/Blog/119995.shtm
m.lj9lj.pro/Blog/313791.shtm
m.lj9lj.pro/Blog/333713.shtm
m.lj9lj.pro/Blog/799391.shtm
m.lj9lj.pro/Blog/957953.shtm
m.lj9lj.pro/Blog/951771.shtm
m.lj9lj.pro/Blog/797753.shtm
m.lj9lj.pro/Blog/151957.shtm
m.lj9lj.pro/Blog/775177.shtm
m.lj9lj.pro/Blog/591713.shtm
m.lj9lj.pro/Blog/573953.shtm
m.lj9lj.pro/Blog/377915.shtm
m.lj9lj.pro/Blog/733115.shtm
m.lj9lj.pro/Blog/173117.shtm
m.lj9lj.pro/Blog/971993.shtm
m.lj9lj.pro/Blog/115777.shtm
m.lj9lj.pro/Blog/399315.shtm
m.lj9lj.pro/Blog/179593.shtm
m.lj9lj.pro/Blog/799991.shtm
m.lj9lj.pro/Blog/931517.shtm
m.lj9lj.pro/Blog/115353.shtm
m.lj9lj.pro/Blog/735957.shtm
m.lj9lj.pro/Blog/397315.shtm
m.lj9lj.pro/Blog/393795.shtm
m.lj9lj.pro/Blog/113979.shtm
m.lj9lj.pro/Blog/159131.shtm
m.lj9lj.pro/Blog/913997.shtm
m.lj9lj.pro/Blog/399555.shtm
m.lj9lj.pro/Blog/771371.shtm
m.lj9lj.pro/Blog/579131.shtm
m.lj9lj.pro/Blog/913575.shtm
m.lj9lj.pro/Blog/791173.shtm
m.lj9lj.pro/Blog/935593.shtm
m.lj9lj.pro/Blog/777373.shtm
m.lj9lj.pro/Blog/379553.shtm
m.lj9lj.pro/Blog/353755.shtm
m.lj9lj.pro/Blog/513997.shtm
m.lj9lj.pro/Blog/975539.shtm
m.lj9lj.pro/Blog/513731.shtm
m.lj9lj.pro/Blog/173153.shtm
m.lj9lj.pro/Blog/715573.shtm
m.lj9lj.pro/Blog/577575.shtm
m.lj9lj.pro/Blog/713775.shtm
m.lj9lj.pro/Blog/579799.shtm
m.lj9lj.pro/Blog/557517.shtm
m.lj9lj.pro/Blog/715991.shtm
m.lj9lj.pro/Blog/531771.shtm
m.lj9lj.pro/Blog/599975.shtm
m.lj9lj.pro/Blog/315773.shtm
m.lj9lj.pro/Blog/135511.shtm
m.lj9lj.pro/Blog/595753.shtm
m.lj9lj.pro/Blog/515375.shtm
m.lj9lj.pro/Blog/753599.shtm
m.lj9lj.pro/Blog/319379.shtm
m.lj9lj.pro/Blog/335915.shtm
m.lj9lj.pro/Blog/513915.shtm
m.lj9lj.pro/Blog/559371.shtm
m.lj9lj.pro/Blog/739559.shtm
m.lj9lj.pro/Blog/339575.shtm
m.lj9lj.pro/Blog/319575.shtm
m.lj9lj.pro/Blog/331115.shtm
m.lj9lj.pro/Blog/939511.shtm
m.lj9lj.pro/Blog/177373.shtm
m.lj9lj.pro/Blog/111171.shtm
m.lj9lj.pro/Blog/131351.shtm
m.lj9lj.pro/Blog/751771.shtm
m.lj9lj.pro/Blog/537737.shtm
m.lj9lj.pro/Blog/795397.shtm
m.lj9lj.pro/Blog/733939.shtm
m.lj9lj.pro/Blog/137951.shtm
m.lj9lj.pro/Blog/917553.shtm
m.lj9lj.pro/Blog/593331.shtm
m.lj9lj.pro/Blog/377731.shtm
m.lj9lj.pro/Blog/715551.shtm
m.lj9lj.pro/Blog/199195.shtm
m.lj9lj.pro/Blog/593739.shtm
m.lj9lj.pro/Blog/153195.shtm
m.lj9lj.pro/Blog/531159.shtm
m.lj9lj.pro/Blog/757371.shtm
m.lj9lj.pro/Blog/175775.shtm
m.lj9lj.pro/Blog/397573.shtm
m.lj9lj.pro/Blog/595351.shtm
m.lj9lj.pro/Blog/315753.shtm
m.lj9lj.pro/Blog/793599.shtm
m.lj9lj.pro/Blog/373131.shtm
m.lj9lj.pro/Blog/515971.shtm
m.lj9lj.pro/Blog/111195.shtm
m.lj9lj.pro/Blog/399997.shtm
m.lj9lj.pro/Blog/571537.shtm
m.lj9lj.pro/Blog/177951.shtm
m.lj9lj.pro/Blog/153559.shtm
m.lj9lj.pro/Blog/173153.shtm
m.lj9lj.pro/Blog/391159.shtm
m.lj9lj.pro/Blog/533133.shtm
m.lj9lj.pro/Blog/933395.shtm
m.lj9lj.pro/Blog/759959.shtm
m.lj9lj.pro/Blog/337993.shtm
m.lj9lj.pro/Blog/997399.shtm
m.lj9lj.pro/Blog/375331.shtm
m.lj9lj.pro/Blog/715911.shtm
m.lj9lj.pro/Blog/935799.shtm
m.lj9lj.pro/Blog/135771.shtm
m.lj9lj.pro/Blog/177719.shtm
m.lj9lj.pro/Blog/531731.shtm
m.lj9lj.pro/Blog/757911.shtm
m.lj9lj.pro/Blog/197759.shtm
m.lj9lj.pro/Blog/317911.shtm
m.lj9lj.pro/Blog/577131.shtm
m.lj9lj.pro/Blog/559755.shtm
m.lj9lj.pro/Blog/971119.shtm
m.lj9lj.pro/Blog/513777.shtm
m.lj9lj.pro/Blog/713399.shtm
m.lj9lj.pro/Blog/335319.shtm
m.lj9lj.pro/Blog/313953.shtm
m.lj9lj.pro/Blog/977593.shtm
m.lj9lj.pro/Blog/755131.shtm
m.lj9lj.pro/Blog/593131.shtm
m.lj9lj.pro/Blog/199113.shtm
m.lj9lj.pro/Blog/351359.shtm
m.lj9lj.pro/Blog/111757.shtm
m.lj9lj.pro/Blog/591155.shtm
m.lj9lj.pro/Blog/531373.shtm
m.lj9lj.pro/Blog/193155.shtm
m.lj9lj.pro/Blog/531113.shtm
m.lj9lj.pro/Blog/799997.shtm
m.lj9lj.pro/Blog/113313.shtm
m.lj9lj.pro/Blog/971571.shtm
m.lj9lj.pro/Blog/735779.shtm
m.lj9lj.pro/Blog/315317.shtm
m.lj9lj.pro/Blog/333597.shtm
m.lj9lj.pro/Blog/799935.shtm
m.lj9lj.pro/Blog/999791.shtm
m.lj9lj.pro/Blog/573115.shtm
m.lj9lj.pro/Blog/379791.shtm
m.lj9lj.pro/Blog/759391.shtm
m.lj9lj.pro/Blog/731971.shtm
m.lj9lj.pro/Blog/195717.shtm
m.lj9lj.pro/Blog/115939.shtm
m.lj9lj.pro/Blog/595599.shtm
m.lj9lj.pro/Blog/757197.shtm
m.lj9lj.pro/Blog/573531.shtm
m.lj9lj.pro/Blog/555333.shtm
m.lj9lj.pro/Blog/575139.shtm
m.lj9lj.pro/Blog/779115.shtm
m.lj9lj.pro/Blog/553119.shtm
m.lj9lj.pro/Blog/733737.shtm
m.lj9lj.pro/Blog/733313.shtm
m.lj9lj.pro/Blog/731733.shtm
m.lj9lj.pro/Blog/195971.shtm
m.lj9lj.pro/Blog/775379.shtm
m.lj9lj.pro/Blog/971539.shtm
m.lj9lj.pro/Blog/993315.shtm
m.lj9lj.pro/Blog/713111.shtm
m.lj9lj.pro/Blog/155751.shtm
m.lj9lj.pro/Blog/113999.shtm
m.lj9lj.pro/Blog/937711.shtm
m.lj9lj.pro/Blog/177317.shtm
m.lj9lj.pro/Blog/553797.shtm
m.lj9lj.pro/Blog/331775.shtm
m.lj9lj.pro/Blog/153975.shtm
m.lj9lj.pro/Blog/515337.shtm
m.lj9lj.pro/Blog/733159.shtm
m.lj9lj.pro/Blog/779159.shtm
m.lj9lj.pro/Blog/599797.shtm
m.lj9lj.pro/Blog/595915.shtm
m.lj9lj.pro/Blog/139995.shtm
m.lj9lj.pro/Blog/171955.shtm
m.lj9lj.pro/Blog/179331.shtm
m.lj9lj.pro/Blog/777591.shtm
m.lj9lj.pro/Blog/715739.shtm
m.lj9lj.pro/Blog/359353.shtm
m.lj9lj.pro/Blog/977955.shtm
m.lj9lj.pro/Blog/153953.shtm
m.lj9lj.pro/Blog/111337.shtm
m.lj9lj.pro/Blog/935199.shtm
m.lj9lj.pro/Blog/993951.shtm
m.lj9lj.pro/Blog/799359.shtm
m.lj9lj.pro/Blog/513995.shtm
m.lj9lj.pro/Blog/335391.shtm
m.lj9lj.pro/Blog/331111.shtm
m.lj9lj.pro/Blog/511773.shtm
m.lj9lj.pro/Blog/735113.shtm
m.lj9lj.pro/Blog/113953.shtm
m.lj9lj.pro/Blog/953973.shtm
m.lj9lj.pro/Blog/779397.shtm

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/2 4:30:38

通过API调用Z-Image-Turbo:自动化绘图工作流尝试

通过API调用Z-Image-Turbo&#xff1a;自动化绘图工作流尝试 你是否曾为批量生成产品示意图、教学配图或设计草稿反复打开浏览器、粘贴提示词、点击生成、手动保存而感到低效&#xff1f;Z-Image-Turbo 不仅能在本地浏览器中流畅运行&#xff0c;更支持标准 API 接口调用——这…

作者头像 李华
网站建设 2026/2/2 6:00:01

避坑指南:使用cv_unet_image-matting常见问题全解析

避坑指南&#xff1a;使用cv_unet_image-matting常见问题全解析 1. 为什么需要这份避坑指南&#xff1f; 你刚启动 cv_unet_image-matting图像抠图 webui二次开发构建by科哥 镜像&#xff0c;界面紫蓝渐变、按钮醒目&#xff0c;点下「 开始抠图」后却等了8秒——结果边缘发白…

作者头像 李华
网站建设 2026/2/1 20:01:46

Z-Image-Turbo生产环境部署:高并发图像生成架构设计

Z-Image-Turbo生产环境部署&#xff1a;高并发图像生成架构设计 1. 为什么需要专门的生产级文生图部署方案 你有没有遇到过这样的情况&#xff1a;本地跑通了Z-Image-Turbo&#xff0c;但一放到公司服务器上就卡住&#xff1f;明明RTX 4090D显存充足&#xff0c;却总在加载模…

作者头像 李华
网站建设 2026/2/2 4:50:07

PyTorch预装环境省多少时间?对比手动部署实测

PyTorch预装环境省多少时间&#xff1f;对比手动部署实测 1. 开篇&#xff1a;你还在为配环境熬通宵吗&#xff1f; 上周帮同事调试一个图像分割模型&#xff0c;他花了整整两天——不是调参&#xff0c;不是改模型&#xff0c;是卡在环境配置上。torch.cuda.is_available() …

作者头像 李华
网站建设 2026/2/2 4:33:52

Open-AutoGLM实战案例:自动登录验证码场景人工接管演示

Open-AutoGLM实战案例&#xff1a;自动登录验证码场景人工接管演示 1. 什么是Open-AutoGLM&#xff1f;一个真正能“看懂手机”的AI助手 Open-AutoGLM 是智谱开源的、专为移动端设计的 AI Agent 框架。它不是简单地调用大模型 API&#xff0c;而是把视觉理解、意图解析、动作…

作者头像 李华
网站建设 2026/1/31 17:08:38

OEM厂商如何优化Synaptics驱动以提升触控精度?核心要点解析

以下是对您提供的技术博文进行 深度润色与结构重构后的专业级技术文章 。我以一位深耕嵌入式人机交互领域十年的系统工程师视角,摒弃模板化表达、AI腔调和空泛总结,用真实开发语境重写全文——聚焦 可复现的工程逻辑、踩过的坑、产线验证数据、以及那些手册里不会写的“潜…

作者头像 李华