谷歌SEO

谷歌SEO

Products

当前位置:首页 > 谷歌SEO >

如何在国内使用WordPress搭建房地产销售专业网站?

96SEO 2026-02-19 17:16 0


接辅导、项目定制

数据导入及处理部分本次数据导入没有使用torchvision自带的数据集需要将原始数据进行处理包括数据导入查看数据分类情况定义transforms进行数据类型转换等操作。

如何在国内使用WordPress搭建房地产销售专业网站?

划分数据集划定训练集测试集后再使用torch.utils.data中的DataLoader()分别加载上一步处理好的训练及测试数据查看批处理维度.

模型构建部分resnet-50

设置超参数在这之前需要定义损失函数学习率动态学习率以及根据学习率定义优化器例如SGD随机梯度下降用来在训练中更新参数最小化损失函数。

定义训练函数函数的传入的参数有四个分别是设置好的DataLoader(),定义好的模型损失函数优化器。

函数内部初始化损失准确率为0接着开始循环使用DataLoader()获取一个批次的数据对这个批次的数据带入模型得到预测值然后使用损失函数计算得到损失值。

接下来就是进行反向传播以及使用优化器优化参数梯度清零放在反向传播之前或者是使用优化器优化之后都是可以的一般是默认放在反向传播之前。

定义测试函数函数传入的参数相比训练函数少了优化器只需传入设置好的DataLoader(),定义好的模型损失函数。

此外除了处理批次数据时无需再设置梯度清零、返向传播以及优化器优化参数其余部分均和训练函数保持一致。

训练过程定义训练次数有几次就使用整个数据集进行几次训练初始化四个空list分别存储每次训练及测试的准确率及损失。

使用model.train()开启训练模式调用训练函数得到准确率及损失。

使用model.eval()将模型设置为评估模式调用测试函数得到准确率及损失。

接着就是将得到的训练及测试的准确率及损失存储到相应list中并合并打印出来得到每一次整体训练后的准确率及损失。

‘model.pth’)

model.load_state_dict(torch.load(‘model.pth’))

需要改进优化的地方在保证整体流程没有问题的情况下继续细化细节研究比如一些函数的原理及作用如何提升训练集准确率等问题。

import

warningswarnings.filterwarnings(ignore)

忽略警告信息plt.rcParams[font.sans-serif]

[SimHei]

plt.rcParams[axes.unicode_minus]

False

transforms.Compose([transforms.Resize([224,224]),

将输入图片resize成统一尺寸transforms.RandomHorizontalFlip(),

将PIL

装换为tensor,并归一化到[0,1]之间transforms.Normalize(

标准化处理

mean[0.485,0.456,0.406]与std[0.229,0.224,0.225]

[0.229,0.224,0.225])

transforms.Compose([transforms.Resize([224,224]),transforms.ToTensor(),transforms.Normalize(mean

[0.229,0.224,0.225])

datasets.ImageFolder(./data/bird_photos/,transform

train_transforms)

./data/bird_photos/StandardTransform

Transform:

antialiasTrue)RandomHorizontalFlip(p0.5)ToTensor()Normalize(mean[0.485,

0.456,

0.225]))total_data.class_to_idx{Bananaquit:

0,Black

train_sizetrain_dataset,test_dataset

torch.utils.data.random_split(total_data,[train_size,test_size])

train_dataset,test_dataset(torch.utils.data.dataset.Subset

0x23b545994b0,torch.utils.data.dataset.Subset

0x23b54599300)#

torch.utils.data.DataLoader(train_dataset,batch_size

batch_size,shuffle

torch.utils.data.DataLoader(test_dataset,batch_size

batch_size,shuffle

nn.BatchNorm2d(filters1)self.conv2

nn.Conv2d(filters1,

nn.BatchNorm2d(filters2)self.conv3

nn.Conv2d(filters2,

nn.BatchNorm2d(filters3)self.shortcut

nn.Sequential()if

nn.Sequential(nn.Conv2d(in_channels,

filters3,

stridestrides),nn.BatchNorm2d(filters3))def

forward(self,

F.relu(self.bn1(self.conv1(x)))x

F.relu(self.bn2(self.conv2(x)))x

shortcutx

num_classes1000):super(ResNet50,

nn.Conv2d(3,

strides)layers.append(ConvBlock(in_channels,

filters,

blocks):layers.append(ConvBlock(in_channels,

filters,

F.relu(self.bn1(self.conv1(x)))x

self.maxpool(x)x

model.to(device)ResNet50((pad):

ZeroPad2d((3,

track_running_statsTrue)(maxpool):

stride2,

track_running_statsTrue)(conv2):

Conv2d(64,

track_running_statsTrue)(conv3):

Conv2d(64,

track_running_statsTrue)(shortcut):

Sequential((0):

track_running_statsTrue)(conv2):

Conv2d(64,

track_running_statsTrue)(conv3):

Conv2d(64,

track_running_statsTrue)(shortcut):

Sequential())(2):

track_running_statsTrue)(conv2):

Conv2d(64,

track_running_statsTrue)(conv3):

Conv2d(64,

track_running_statsTrue)(shortcut):

Sequential((0):

track_running_statsTrue)(conv2):

Conv2d(128,

track_running_statsTrue)(conv3):

Conv2d(128,

track_running_statsTrue)(shortcut):

Sequential((0):

track_running_statsTrue)(conv2):

Conv2d(128,

track_running_statsTrue)(conv3):

Conv2d(128,

track_running_statsTrue)(shortcut):

Sequential())(2):

track_running_statsTrue)(conv2):

Conv2d(128,

track_running_statsTrue)(conv3):

Conv2d(128,

track_running_statsTrue)(shortcut):

Sequential())(3):

track_running_statsTrue)(conv2):

Conv2d(128,

track_running_statsTrue)(conv3):

Conv2d(128,

track_running_statsTrue)(shortcut):

Sequential((0):

track_running_statsTrue)(conv2):

Conv2d(256,

track_running_statsTrue)(conv3):

Conv2d(256,

track_running_statsTrue)(shortcut):

Sequential((0):

track_running_statsTrue)(conv2):

Conv2d(256,

track_running_statsTrue)(conv3):

Conv2d(256,

track_running_statsTrue)(shortcut):

Sequential())(2):

track_running_statsTrue)(conv2):

Conv2d(256,

track_running_statsTrue)(conv3):

Conv2d(256,

track_running_statsTrue)(shortcut):

Sequential())(3):

track_running_statsTrue)(conv2):

Conv2d(256,

track_running_statsTrue)(conv3):

Conv2d(256,

track_running_statsTrue)(shortcut):

Sequential())(4):

track_running_statsTrue)(conv2):

Conv2d(256,

track_running_statsTrue)(conv3):

Conv2d(256,

track_running_statsTrue)(shortcut):

Sequential())(5):

track_running_statsTrue)(conv2):

Conv2d(256,

track_running_statsTrue)(conv3):

Conv2d(256,

track_running_statsTrue)(shortcut):

Sequential((0):

track_running_statsTrue)(conv2):

Conv2d(512,

track_running_statsTrue)(conv3):

Conv2d(512,

track_running_statsTrue)(shortcut):

Sequential((0):

track_running_statsTrue)(conv2):

Conv2d(512,

track_running_statsTrue)(conv3):

Conv2d(512,

track_running_statsTrue)(shortcut):

Sequential())(2):

track_running_statsTrue)(conv2):

Conv2d(512,

track_running_statsTrue)(conv3):

Conv2d(512,

track_running_statsTrue)(shortcut):

AdaptiveAvgPool2d(output_size(1,

1))(fc):

adjust_learning_rate(optimizer,epoch,start_lr):

每两个epoch

torch.optim.Adam(model.parameters(),lrlearn_rate)#

调用官方接口示例

nn.CrossEntropyLoss()learn_rate

1e-4

epoch:(0.92**(epoch//2))optimizer

torch.optim.Adam(model.parameters(),lr

learn_rate)

torch.optim.lr_scheduler.LambdaLR(optimizer,lr_lambdalambda1)

选定调整方法6.

train(dataloader,model,loss_fn,optimizer):size

训练集大小num_batches

反向传播optimizer.zero_grad()loss.backward()optimizer.step()#

记录acc与losstrain_acc

(pred.argmax(1)y).type(torch.float).sum().item()train_loss

loss.item()train_acc

test(dataloader,model,loss_fn):size

len(dataloader.dataset)num_batches

len(dataloader)test_acc,test_loss

0,0with

(pred.argmax(1)y).type(torch.float).sum().item()test_loss

loss.item()test_acc

adjust_learning_rate(optimizer,epoch,learn_rate)model.train()epoch_train_acc,epoch_train_loss

train(train_dl,model,loss_fn,optimizer)scheduler.step()

更新学习率——调用官方动态学习率时使用model.eval()epoch_test_acc,epoch_test_loss

保存最佳模型到

copy.deepcopy(model)train_acc.append(epoch_train_acc)train_loss.append(epoch_train_loss)test_acc.append(epoch_test_acc)test_loss.append(epoch_test_loss)#

获取当前学习率lr

optimizer.state_dict()[param_groups][0][lr]template

(Epoch:{:2d},Train_acc:{:.1f}%,Train_loss:{:.3f},Test_acc:{:.1f}%,Test_loss:{:.3f},Lr:{:.2E})print(template.format(epoch1,epoch_train_acc*100,epoch_train_loss,epoch_test_acc*100,epoch_test_loss,lr))print(Done)Epoch:

1,Train_acc:35.4%,Train_loss:3.431,Test_acc:23.9%,Test_loss:3.033,Lr:1.00E-04

Epoch:

2,Train_acc:69.2%,Train_loss:0.899,Test_acc:26.5%,Test_loss:3.017,Lr:9.20E-05

Epoch:

3,Train_acc:74.1%,Train_loss:0.652,Test_acc:59.3%,Test_loss:1.278,Lr:9.20E-05

Epoch:

4,Train_acc:78.3%,Train_loss:0.587,Test_acc:67.3%,Test_loss:1.353,Lr:8.46E-05

Epoch:

5,Train_acc:82.5%,Train_loss:0.521,Test_acc:75.2%,Test_loss:0.829,Lr:8.46E-05

Epoch:

6,Train_acc:86.3%,Train_loss:0.433,Test_acc:66.4%,Test_loss:1.308,Lr:7.79E-05

Epoch:

7,Train_acc:90.3%,Train_loss:0.340,Test_acc:67.3%,Test_loss:1.600,Lr:7.79E-05

Epoch:

8,Train_acc:89.2%,Train_loss:0.374,Test_acc:71.7%,Test_loss:1.014,Lr:7.16E-05

Epoch:

9,Train_acc:88.7%,Train_loss:0.305,Test_acc:77.0%,Test_loss:0.841,Lr:7.16E-05

Epoch:10,Train_acc:90.7%,Train_loss:0.309,Test_acc:79.6%,Test_loss:1.094,Lr:6.59E-05

Epoch:11,Train_acc:91.8%,Train_loss:0.318,Test_acc:72.6%,Test_loss:0.976,Lr:6.59E-05

Epoch:12,Train_acc:93.6%,Train_loss:0.243,Test_acc:73.5%,Test_loss:1.209,Lr:6.06E-05

Epoch:13,Train_acc:94.7%,Train_loss:0.159,Test_acc:71.7%,Test_loss:0.947,Lr:6.06E-05

Epoch:14,Train_acc:98.0%,Train_loss:0.076,Test_acc:80.5%,Test_loss:0.707,Lr:5.58E-05

Epoch:15,Train_acc:97.8%,Train_loss:0.083,Test_acc:79.6%,Test_loss:0.923,Lr:5.58E-05

Epoch:16,Train_acc:98.2%,Train_loss:0.059,Test_acc:82.3%,Test_loss:0.650,Lr:5.13E-05

Epoch:17,Train_acc:98.5%,Train_loss:0.072,Test_acc:76.1%,Test_loss:0.828,Lr:5.13E-05

Epoch:18,Train_acc:98.0%,Train_loss:0.175,Test_acc:78.8%,Test_loss:0.834,Lr:4.72E-05

Epoch:19,Train_acc:94.2%,Train_loss:0.173,Test_acc:61.9%,Test_loss:2.606,Lr:4.72E-05

Epoch:20,Train_acc:96.2%,Train_loss:0.123,Test_acc:77.9%,Test_loss:0.959,Lr:4.34E-05

Epoch:21,Train_acc:96.5%,Train_loss:0.166,Test_acc:76.1%,Test_loss:1.266,Lr:4.34E-05

Epoch:22,Train_acc:96.9%,Train_loss:0.196,Test_acc:85.0%,Test_loss:0.698,Lr:4.00E-05

Epoch:23,Train_acc:98.7%,Train_loss:0.082,Test_acc:82.3%,Test_loss:0.626,Lr:4.00E-05

Epoch:24,Train_acc:96.0%,Train_loss:0.136,Test_acc:81.4%,Test_loss:0.805,Lr:3.68E-05

Epoch:25,Train_acc:98.5%,Train_loss:0.101,Test_acc:83.2%,Test_loss:0.576,Lr:3.68E-05

Epoch:26,Train_acc:98.5%,Train_loss:0.062,Test_acc:80.5%,Test_loss:0.597,Lr:3.38E-05

Epoch:27,Train_acc:99.6%,Train_loss:0.039,Test_acc:83.2%,Test_loss:0.574,Lr:3.38E-05

Epoch:28,Train_acc:99.3%,Train_loss:0.080,Test_acc:85.0%,Test_loss:0.758,Lr:3.11E-05

Epoch:29,Train_acc:99.6%,Train_loss:0.059,Test_acc:84.1%,Test_loss:0.608,Lr:3.11E-05

Epoch:30,Train_acc:98.9%,Train_loss:0.054,Test_acc:82.3%,Test_loss:0.753,Lr:2.86E-05

Epoch:31,Train_acc:98.9%,Train_loss:0.035,Test_acc:83.2%,Test_loss:0.617,Lr:2.86E-05

Epoch:32,Train_acc:98.7%,Train_loss:0.046,Test_acc:78.8%,Test_loss:0.847,Lr:2.63E-05

Epoch:33,Train_acc:98.9%,Train_loss:0.028,Test_acc:82.3%,Test_loss:0.746,Lr:2.63E-05

Epoch:34,Train_acc:99.6%,Train_loss:0.032,Test_acc:79.6%,Test_loss:0.629,Lr:2.42E-05

Epoch:35,Train_acc:99.3%,Train_loss:0.027,Test_acc:82.3%,Test_loss:0.597,Lr:2.42E-05

Epoch:36,Train_acc:99.6%,Train_loss:0.029,Test_acc:87.6%,Test_loss:0.488,Lr:2.23E-05

Epoch:37,Train_acc:99.6%,Train_loss:0.026,Test_acc:87.6%,Test_loss:0.552,Lr:2.23E-05

Epoch:38,Train_acc:99.1%,Train_loss:0.029,Test_acc:79.6%,Test_loss:0.572,Lr:2.05E-05

Epoch:39,Train_acc:99.8%,Train_loss:0.107,Test_acc:84.1%,Test_loss:0.704,Lr:2.05E-05

Epoch:40,Train_acc:99.1%,Train_loss:0.094,Test_acc:76.1%,Test_loss:0.772,Lr:1.89E-05

Done9.

range(epochs)plt.figure(figsize

plt.plot(epochs_range,train_acc,label

Training

plt.plot(epochs_range,test_acc,label

Test

plt.plot(epochs_range,train_loss,label

Test

plt.plot(epochs_range,test_loss,label

Test

torch.save(model.state_dict(),./模型参数/J1_resnet50_model_state_dict.pth)

仅保存状态字典#

定义官方vgg16模型用来加载参数best_model.load_state_dict(torch.load(./模型参数/J1_resnet50_model_state_dict.pth))

加载状态字典到模型All

list(total_data.class_to_idx)def

predict_one_image(image_path,model,transform,classes):test_img

Image.open(image_path).convert(RGB)#

plt.imshow(test_img)

test_img.to(device).unsqueeze(0)model.eval()output

classes[pred]print(f预测结果是:{pred_class})#

predict_one_image(image_path./data/bird_photos/Bananaquit/007.jpg,model

model,transform

预测结果是:Bananaquitclasses[Bananaquit,

Black



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback