复现PointNext网络架构时,运行调试main.py

复现PointNext网络架构时,运行调试main.py

Pointnext代码地址:https://github.com/guochengqian/PointNeXt

第一步:
下载给github上代码,也可以直接按照项目中的说明使用命令行,其中openpoint文件夹里面是空的,这个需要你自己下载并移动到该文件夹下,下载地址请看該项目的ReadMe文件。但是我想要看懂代码,并且调试,修改它,所有我希望可以使用pycharm运行
在这里插入图片描述
第二步:
按照项目提示,使用配置文件配置虚拟环境,前三行都可以省略,因为我们已经自己下载代码
在这里插入图片描述
第三步:
运行examples/segmentation/main.py,因为我要做的的就是分割,所以我首先运行的是分割例子,在这一部分会报很多python包的错误,按照提示,安装对应的包即可
在这里插入图片描述
第四步:
接下来会报未找到pointnet2_batch_cuda文件的错误,这是因为这个pointnet2_batch_cuda文件不是项目自带的,是运行同目录下的setup.py文件产生的,所以这里需要先运行setup.py,运行命令在install.sh脚本中
在这里插入图片描述
第五步:
运行main.py文件,但是此时还是会有报错,因为该文件有一个命令行参数是必须得,而我们直接运行main文件则无命令行参数,将必要命令行参数改成不必要,并且设置默认参数即可,如下所示:
在这里插入图片描述
到此便运行成功,可以运行,可以调试了

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 23
    评论
好的,以下是代码实现: (1)在同一文件夹下构建“demo1.py”和“demo2.py”,在“demo1.py”中导入(import)demo2模块。 demo1.py: ```python import demo2 def main(): print('This is demo1.py') if __name__ == '__main__': main() ``` demo2.py: ```python def func1(): print('This is func1 in demo2.py') def var1(): print('This is var1 in demo2.py') if __name__ == '__main__': func1() var1() ``` (2)在“demo1.py”和“demo2.py”中分别加入主函数入口,即“if name == 'main'”,体会其具体作用。 已在上述代码中实现。 (3)在“demo1.py”所在的目录下新建目录“folder”,并将“demo2.py”移至该新建的目录下,复现实现实验(1)、(2)中所述过程,实验当导入模块位于不同路径下的具体解决方案。 修改后的目录结构如下: ``` - main_folder - demo1.py - folder - demo2.py ``` 修改后的代码如下: demo1.py: ```python from folder import demo2 def main(): demo2.func1() if __name__ == '__main__': main() ``` demo2.py: ```python def func1(): print('This is func1 in demo2.py') def var1(): print('This is var1 in demo2.py') if __name__ == '__main__': func1() var1() ``` (4)实验在主模块中调用其它模块中的函数及变量。 在上述修改后的代码中,我们在“demo1.py”中使用“from folder import demo2”语句导入“demo2.py”模块,然后可以使用“demo2.func1()”的方式来调用“demo2.py”模块中的函数。 注意,如果“demo2.py”中有多个函数或变量需要调用,需要在“demo1.py”中分别使用“from folder.demo2 import func1”或“from folder.demo2 import var1”语句来导入。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值