Python(TensorFlow、PyTorch)中的小问题

本文涵盖了Python深度学习中TensorFlow与PyTorch的常见问题,包括padding的理解、PyTorch的错误处理、skimage库的使用、图像显示、格式化输出、Keras网络结构可视化以及Jupyter Notebook的多进程问题。还涉及conda虚拟环境管理和包管理的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、tensorflow中padding = ‘same’ :核移动时 ,same就是填充0到成为满足整除的列数/行数,而valid则是丢弃直到满足整除

【注】只有当stride 为1时,padding = ‘same’才会保证图片输出大小和输入大小相同

padding填充same 和valid两种方式

tf中的padding方式SAME和VALID有什么区别?

TensorFlow中CNN的两种padding方式“SAME”和“VALID”

【TensorFlow】一文弄懂CNN中的padding参数

 

2、pytorch:报 “'tuple' object is not callable” 的错误------元组间没有打逗号

 

3、import skimage.transform as tf: skimage即是Scikit-Image

Py之skimage:Python库之skimage的简介、安装、使用方法之详细攻略

 

4、plt.imshow()不显示图像的问题:在后面加 plt.show()

plt.imshow()函数负责对图像进行处理,并显示其格式,而plt.show()则是将plt.imshow()处理后的函数显示出来。

 

5、占位符%d、%i 的区别:在python中没区别,是完全引用的c的用法,在c中,作为输出(printf)也无区别,但作为输入(scanf),%d接收有符号十进制数,%i默认十进制,也允许接收8进制和16进制

What is the difference between %i and %d in Python? [duplicate]

What is the difference between conversion specifiers %i and %d in formatted IO functions (*printf / *scanf)

6、keras自动生成网络结构的图片

    from keras.utils import plot_model
    # from keras.utils.vis_utils import plot_model
    from keras.utils.vis_utils import model_to_dot
    from IPython.display import SVG, Image
    # %matplotlib inline

    ## pip install GraphViz
    # 方法1
    plot_model(model, to_file='model.png', show_shapes=True, show_layer_names=True, rankdir='LB')
    Image('model.png')

出错:Python决策树可视化:GraphViz's executables not found的解决方法

【】按上法可解决,但值得注意的是,按上操作后,重启电脑后解决的

可能还会出现的问题:Failed to import pydot. You must install pydot

7、python中,用format进行格式对齐,中文 会出现一些问题,可能中文字体不是等宽字体的缘故,\t 可以解决问题

print("{:>6} done".format(instruction))

print("{:>6}\tdone".format(instruction))

右对齐,由于是中文,还是有些问题:

python str.format 中文对齐的细节问题

8、jupyter notebook 无法运行 多进程 的程序(以下方法未实验,mark)

Jupyter notebook never finishes processing using multiprocessing (Python 3)

https://stackoverflow.com/questions/47313732/jupyter-notebook-never-finishes-processing-using-multiprocessing-python-3

Python Jupyter notebook 运行 multiprocessing 跑不了的问题

https://blog.youkuaiyun.com/e274794140/article/details/87286190

9、记录conda,虚拟环境的一些问题

Anaconda虚拟环境建立+解决pip安装包过慢的情况

conda(anaconda)删除清华源,改回原源

Anaconda创建、激活、退出、删除虚拟环境

 

### TensorFlowPyTorch 在 CUDA 上的性能和兼容性对比 #### 性能差异 TensorFlowPyTorch 都支持 GPU 加速计算,主要通过 NVIDIA 提供的 CUDA 工具集实现。然而,在实际应用中,两者的性能表现可能因具体场景而异。 - **TensorFlow**: TensorFlow 是由 Google 开发的一个开源机器学习框架,它提供了高度优化的操作符集合,并针对大规模分布式训练进行了专门设计。由于其静态图机制(尽管 Eager Execution 可以提供动态执行模式),在某些情况下可以更高效地利用硬件资源[^1]。 - **PyTorch**: PyTorch 则以其易用性和灵活性著称,采用基于 Python 的 API 设计使得开发者能够快速原型化模型。它的动态计算图允许更加灵活的调试过程,但在部分复杂模型或者长时间运行的任务上可能会稍微逊色于 TensorFlow 的整体效率[^2]。 两者都依赖于底层的 cuDNN 库来进行卷积操作加速以及其他深度学习特定运算的支持;因此当涉及到这些标准层时二者之间的差距通常不大。不过对于自定义算子或者其他特殊需求,则需考虑各自生态系统内的支持程度如何影响最终效果。 #### 兼容性考量 关于CUDA版本匹配方面: - 对于最新发布的主流GPU架构来说,两个平台都能很好地适配最新的NVIDIA驱动程序及相应的cuBLAS/cuSPARSE等功能模块; - 不过值得注意的是随着技术进步速度加快以及厂商策略调整等因素的影响下偶尔会出现短暂不一致现象——即某一方率先集成新特性之后另一方才跟进更新节奏的情况发生【此处无对应编号引用】。 另外还需关注操作系统环境限制、第三方扩展插件可用性等问题也可能间接作用到跨平台移植难易度之上。 ```python import torch print(torch.cuda.is_available()) # 检查是否有可用的CUDA设备 ``` ```python import tensorflow as tf tf.config.list_physical_devices('GPU') # 查看当前环境中可使用的GPU列表 ``` #### 结论 总体而言,如果项目侧重生产部署稳定性并追求极致效能的话可以选择TensorFlow;而对于科研探索阶段注重便捷修改尝试不同算法思路则推荐使用PyTorch 。当然这并不意味着绝对界限分明 ,很多时候还需要依据团队熟悉度和个人偏好来做决定 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值