当前位置: 首页 > news >正文

龙岗做网站的公司郑州seo代理外包公司

龙岗做网站的公司,郑州seo代理外包公司,鹤山区网站建设,做动态网站可以不写代码吗环境配置 建议在linux上配置对应环境 可以在autoDL上租一个服务器来搭建,带有pytorch的环境 https://www.autodl.com/home 我自己的win电脑上安装了pytorch,但是配置时会报错,于是到ubuntu上配置 电脑上装有pytorch的就不需要再下载libtorc…

环境配置

建议在linux上配置对应环境

可以在autoDL上租一个服务器来搭建,带有pytorch的环境
https://www.autodl.com/home
我自己的win电脑上安装了pytorch,但是配置时会报错,于是到ubuntu上配置
在这里插入图片描述

电脑上装有pytorch的就不需要再下载libtorch了,pytorch就带有libtorch
首先通过下面的代码找出pytorch自带的环境
import torch
torch.utils.cmake_prefix_path

在这里插入图片描述

整体架构图

在这里插入图片描述

编写CMakeLists.txt文件

cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
project(test-libtorch)
# 设置libtorch的位置
set(CMAKE_PREFIX_PATH "/root/miniconda3/lib/python3.8/site-packages/torch/share/cmake")
message(${CMAKE_PREFIX_PATH})
find_package(Torch REQUIRED)
#op.cpp exe
add_executable(test-libtorch op.cpp)# #link libtorch .a .so
target_link_libraries(test-libtorch "${TORCH_LIBRARIES}")
#
set_property(TARGET test-libtorch PROPERTY CXX_STANDARD 14)

编写op.cpp

#include<torch/torch.h>
#include <iostream>int main() {torch::Tensor tensor = torch::rand({ 2, 3 });std::cout << tensor << std::endl;return 0;
}

编译

先创建build文件夹,再在build里面编译

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mkdir build
cd build
cmake ../
make
./test-libtorch

配置opencv

编写第一个自定义算子

算子的定义与实现

整体结构图

由于我们重写算子一般都是为了性能,所以多半使用C++

op.cpp

#include <torch/torch.h>
// 实现
torch::Tensor my_add(torch::Tensor t1, torch::Tensor t2)
{assert(t1.size(0) == t2.size(0));assert(t1.size(1) == t2.size(1));torch::Tensor t=t1+t2;return t;
}
// C++函数绑定到python中
TORCH_LIBRARY(my_ops, m)
{m.def("my_add", my_add);
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
project(test-libtorch)
# 设置libtorch的位置
set(CMAKE_PREFIX_PATH "/root/miniconda3/lib/python3.8/site-packages/torch/share/cmake")
message(${CMAKE_PREFIX_PATH})
find_package(Torch REQUIRED)
# find_package(Opencv REQUIRED)
add_library(test-libtorch SHARED op.cpp)
# add_executable(test-libtorch op.cpp)# #link libtorch .a .so
target_link_libraries(test-libtorch "${TORCH_LIBRARIES}")
#
set_property(TARGET test-libtorch PROPERTY CXX_STANDARD 14)

test.py

import torchlib_path = r"/root/test/build/libtest-libtorch.so"
torch.ops.load_library(lib_path)def test_add():a = torch.rand([10, 10, 3])b = torch.rand([10, 10, 3])c = torch.ops.my_ops.my_add(a, b)d = a + bassert torch.allclose(c, d)
test_add()

运行步骤

mkdir build
cd build
cmake ../
make
cd ../
python test.py

将op.cpp替换
op.cpp

#include <torch/torch.h>
// 实现
torch::Tensor my_add(torch::Tensor t1, torch::Tensor t2)
{assert(t1.size(0) == t2.size(0));assert(t1.size(1) == t2.size(1));torch::Tensor t=t1+t2;return t;
}
// 直接用Pybind绑定了C++函数
PYBIND11_MODULE(my_ops, m)
{m.def("my_add", my_add);
}

编写setup.py

from setuptools import setup
from torch.utils import cpp_extensionsetup(name='my_add',ext_modules=[cpp_extension.CppExtension('my_ops', ['op.cpp'])],cmdclass={'build_ext': cpp_extension.BuildExtension})

test.py

import torch
import my_opsdef test_add():a = torch.rand([10, 10, 3])b = torch.rand([10, 10, 3])c = my_ops.my_add(a, b)d = a + bassert torch.allclose(c, d)
test_add()

运行步骤

python setup.py install
python test.py
http://www.mnyf.cn/news/34115.html

相关文章:

  • 日本做a片在线观看网站有哪些百度资源分享网
  • 360安全网站怎么做号码认证品牌设计公司排名前十强
  • 济南莱芜又出新情况了seo排名怎样
  • 分栏式网站网站视频
  • 小程序网站建设搜索引擎入口google
  • 网站页脚内容济宁网站建设
  • 山西网站建设哪家好微博今日热搜榜
  • 怎么关闭网站安全检测seo网络贸易网站推广
  • 网站seo谷歌手机怎么制作网站
  • 中国建设银行个人登录入口seo课程心得体会
  • 淄博市建设局网站微信推广文案
  • 湖北建设厅官方网站网络推广的方法和技巧
  • 深圳网站建设公司怎么做企业微信管理系统
  • .net cms网站管理系统如何做品牌宣传与推广
  • 用网站做CAN总线通信好吗怎么做电商平台
  • 宿州市住房建设委员会网站软文撰写案例
  • 网站建设步骤详解视频教程苹果aso优化
  • 企业简介 网站建设百度网盘资源分享
  • 网站备案由别人代seo建站还有市场吗
  • 做网站实例品牌营销策划公司哪家好
  • 扬州建设公司网站可以搜任何网站的浏览器
  • 杭州定制网站制作抚州seo外包
  • 医院的网站建设目标网络科技有限公司
  • 哈尔滨网站制作多少钱百度开车关键词
  • 做网站要用编程吗软文代发
  • 个人博客搭建wordpressseo搜索引擎优化师
  • 怎么做网站背景开户推广竞价开户
  • 企业网站的建设流程包含哪些环节?怎么在百度上免费做广告
  • 盘锦做网站选哪家好百度推广怎么优化排名
  • 成都高新区网站建设青岛网站建设制作